内容创业者用智果知识付费内容付费系统搭建内容付费平台的话,数据是储存在哪里的?

C++版权和版本的声明_C/C++教程_
C++版权和版本的声明
来源:人气:3353
  每个C++/C 程序通常分为两个文件。一个文件用于保存程序的声明(declaration),称为头文件。另一个文件用于保存程序的实现(implementation),称为定义(definition)文件。C++/C 程序的头文件以“.h”为后缀,C 程序的定义文件以“.c”为后缀,C++程序的定义文件通常以“.cpp”为后缀(也有一些系统以“.cc”或“.cxx”为后缀)。版权和版本的声明位于头文件和定义文件的开头(参见示例1-1),主要内容有:(1)版权信息。(2)文件名称,标识符,摘要。(3)当前版本号,作者/修改者,完成日期。(4)版本历史信息。
优质网站模板Google C++编码规范中文版_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Google C++编码规范中文版
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩55页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢C++ 能否成为你新的脚本语言? - 技术翻译 - 开源中国社区
C++ 能否成为你新的脚本语言?
【已翻译100%】
英文原文:
推荐于 2年前 (共 8 段, 翻译完成于 05-28)
参与翻译&(7人)&: ,
第一个我真正喜爱的编程语言是 C。我花了不少时间才找到它:当我还是一个孩子,我就开始在珍贵的上使用 Z80 汇编。那些日子是你能够真正掌握你的电脑的时候,你不需要苹果,谷歌,微软或者其他任何人的允许就能写一个程序。我在漂亮的上学习了在超出 CPU 寻址空间时对内存块分页。直到我进入,我才拥有一台 IBM PC 机 。我玩遍了电子表格,试图修复现存的 Fortran 程序,用土耳其字符给键盘驱动打补丁,还学了点 Pascal 语言。之后,在我就职于土耳其中央银行期间,我又学习了 SQL 和 。
我一直对 C 语言有所耳闻,但我一直没有接触到一款C语言编译器。直到我到康奈尔大学拥有了一个Unix 账号之后,我编译了我人生中的第一个 hello.c 文件,不久之后,我有了第一台电脑……我在 DOS 分区上安装了 DJGPP 编译器,构建了我人生中第一个 Linux 内核(我第一个发行版是 Debian),并且开始学习 C 语言。Plauger 的 &是我最喜欢的书。
&翻译得不错哦!
当我开始享受用 C 编程的时候,C++ 已经广泛应用超过十年了。所以,我下一步使用 C++ 看起来是很自然的一步了。
除了……好吧,除了 C++ 是一片混乱。那段时间,所有人都被继承层次深深吸引了,每个人都在编写精心设计的字符串类。大多数硬盘都太慢,不能在有限的时间内编译出可靠的 C++ 库(好吧,我有点夸张了),大部分 CPU 都在试图实例化模板中融化了,大部分人,那些假装 C++ 程序员的 C 程序员们,差点就把 的返回值给扔了。
在那时,我正忙于试图建立定制化的网络经济实验,看起来 Java 似乎很有优势。至少,它不需要麻烦地拼凑出一个对话框。产生少量的 socket 连接,并且使你的应用编译和运行在多种多样的系统上。当然,和
都很丑陋且笨重,但对我的目的来说,那没关系。
&翻译得不错哦!
但是,仅仅是因为不能在实验室之外运行我的实验(因为在实验室已经配置了所有电脑,java应用程序运行不会有问题)。所以我快速的把FreeBSD部署到了一台拥有100Mhz奔腾处理器,16Mb内存,在角落里收集灰尘的机器上,并搭建了一个拥有perl模块(mod_perl)的Apache服务器,然后就能工作了。那就是我爱上Perl的时候。
那份爱完全起源于实用的原因,我并不是认为Perl特别的完美,并且那时候我认为包括其他许多语言都不是很完美,他们中的每一个都有自己的瑕疵。
Perl总是能减少我必须解决的特别问题的工作的数量,有些是因为语言特性,但大部分是因为&。
&翻译得不错哦!
举例来说,作为一个 Perl 程序员,解析 HTML 作为 HTML 是一个解决方案。我必须决定,要么就构造整个树, 或者使用流化的方式。在某些情况下,前者是具有优势的,但后者的好处是可以使内存的需求降至最低,即使是在这个年代,如果你处理 HTML 文档以兆字节方式还是可以奏效的。不论哪种方式,这些工具都不会在无效的 HTML 上被卡住,并在非 XML 的有效 HTML 上运作良好。
还有,Perl 提供可移植性。如果我不需要操作系统特定的功能,不用任何修改地方,我的 perl 代码就可以运行。
当我写了一些类,并为它们做了封装,也不会有复杂的架构。
&翻译得不错哦!
在过去的数年,C++如获新生。许多聪明人已经开始意识到需要向C++程序员提供同时涵盖&和&的构建模块。
在真实环境下,仍然有90%的菜鸟生成C++程序员就是没有意识到new是一个合法符号的C程序员。在这方面,C++与Perl非常相似:大部分人写过Perl代码的人也没有意识到Perl不是C、Java、Python、shell、Awk或者其他你可以列举的语言。
但是,当你看到新C++标准中的新东西,以及编译器不断实现这些特性的新闻时,我们无法抑制住内心的兴奋和好奇。
&翻译得不错哦!
单词计算练习
这是一个简单的练习,使用 C++ 或者 Perl 并且不依赖外部库,所以这是一个很好的起点。
这是 Perl 版本,供您参考:
#!/usr/bin/env&perl
run(\@ARGV);
&&&&my&$argv&=&
&&&&for&my&$file&(&@$argv&)&{
&&&&&&&&my&$count&=&-1;
&&&&&&&&eval&{
&&&&&&&&&&&&$count&=&word_count($file);
&&&&&&&&&&&&1;
&&&&&&&&}&or&warn&"$@";
&&&&&&&&push&@counts,&{
&&&&&&&&&&&&file&=&&$file,
&&&&&&&&&&&&word_count&=&&$count,
&&&&&&&&};
&&&&for&my&$result&(@counts)&{
&&&&&&&&printf&"%s:&%d&words\n",&$result-&{file},&$result-&{word_count};
sub&word_count&{
&&&&my&$file&=&
&&&&open&my&$fh,&'&',&$file
&&&&&&&&or&die&"Cannot&open&'$file':&$!";
&&&&while&(my&$line&=&&$fh&)&{
&&&&&&&&my&@words&=&split&'&',&$
&&&&&&&&$words{&$_&}&+=&1&for&@
&&&&close&$
&&&&my&$word_
&&&&$word_count&+=&$_&for&values&%
&&&&return&$word_
而且,这是我最大的付出在转化 Perl 到现代风格的 C++ 上面。我没有尝试写特别搞笑的代码:只是和 Perl 一样,我把重点放在写代码上面,使得我感到非常自然,同时确保两个程序都做大致相同的事情。
#include&&cerrno&
#include&&cstdio&
#include&&cstdlib&
#include&&fstream&
#include&&iostream&
#include&&numeric&
#include&&unordered_map&
#include&&string&
#include&&vector&
using&std::
using&std::
using&std::
using&std::
using&std::
using&std::make_
using&std::
using&std::
using&std::
using&std::unordered_
using&std::
int&word_count(const&char&*const&file)&noexcept(false);
int&main(int&argc,&char&*argv[])&{
&&&&vector&&pair&string,&int&&&&counts&{};
&&&&for&(auto&i&=&1;&i&&&&i&+=&1)&{
&&&&&&&&try&{
&&&&&&&&&&&&counts.push_back(make_pair(argv[i],&word_count(argv[i])));
&&&&&&&&}&catch&(const&string&&e)&{
&&&&&&&&&&&&cerr&&&&e&&&&
&&&&&&&&&&&&counts.push_back(make_pair(argv[i],&-1));
&&&&for&(auto&&result&:&counts)&{
&&&&&&&&cout&&&&result.first&&&&":&"&&&&result.second&&&&"&words"&&&&
&&&&return&0;
word_count(const&char&*const&file)&noexcept(false)&{
&&&&errno&=&0;
&&&&ifstream&fp(file);
&&&&&&&&//&Does&fp.fail()&preserve&errno?
&&&&&&&&int&save_errno&=&
&&&&&&&&if&(fp.fail())&{
&&&&&&&&&&&&throw("Cannot&open&'"&+&string(file)&+&"':&"&+&strerror(save_errno));
&&&&unordered_map&string,&int&&word_count&{};
&&&&string&
&&&&while&(fp&&&&word)&{
&&&&&&&&word_count[word]&+=&1;
&&&&fp.close();
&&&&return&accumulate(
&&&&&&&&word_count.cbegin(),
&&&&&&&&word_count.cend(),
&&&&&&&&0,
&&&&&&&&[](int&sum,&auto&&el)&{&return&sum&+=&el.&}
20 行代码用于 #include 和 using 声明可能看起来有点多,但是我抬眼 using namespace std,也讨厌不断地输入 std::... 更多的是因为我喜欢较短的代码行。
&翻译得不错哦!
首先要注意的是没有看得见的显式的内存分配。容器集装箱管理自己的内存。
第二,这是一个大问题:我们有自动导入(autovivification)!
unordered_map&string,&int&&word_count&{};
while&(fp&&&&word)&{
&&&&word_count[word]&+=&1;
第三,我们有 lambda 表达式:
return&accumulate(
&&&&word_count.cbegin(),
&&&&word_count.cend(),
&&&&[](int&sum,&auto&&el)&{&return&sum&+=&el.&}
在这背后,accumulate&将内部变量初始化为 0,并调用一个匿名函数,其最后一个参数指定为当前值,以及word_count的下一个元素。
现在,我不得不承认,我不知道这些特性是如何实现的,但是 Microsoft Visual C++ 2015 RC 成功运行了,微软似乎终于赶上了在该领域的最新发展。
&翻译得不错哦!
那么现在呢?
然而,并非所有事情都是那么美好。虽然&库上填补了很多空白,在构建模块时标准库也十分给力,但是它很难与用 Perl 和 CAPN 混合编写的那种跨平台、可移植代码时的便利性相提并论。
举个例子,我能到处找得到一个与平台无关的库,这个库可以为我解析或者创建 Excel 文件而不需要 Excel 应用?并且这个库可以像 clang,g++ 和 cl 那样方便编译?这显然找不到。
我确实非常感谢那些工作在标准委员会和那些开发编译器和库的人,因为有了他们我在写 C++ 代码时不是那么费力。
这让我感到十分舒服,与此同时我又能够尽情去折腾我的电脑。
正因为如此,我很感激。
你可以在&评论这篇文章
&翻译得不错哦!
我们的翻译工作遵照 ,如果我们的工作有侵犯到您的权益,请及时联系我们
谢谢提醒,已修改:)
你在用vala吗?我之前研究过一下,后来,这语言没什么新闻了
PHP其实是一种带GUI的脚本语言,因为PHP作为HTML预处理器,能够直接输出HTML代码,构造HTML界面,佐以Bootstrap,美仑美化的界面不再话下.
没有这个语言,软件工程还不知道要晚多久才能演化到现在的样子。
引用来自“eechen”的评论PHP其实是一种带GUI的脚本语言,因为PHP作为HTML预处理器,能够直接输出HTML代码,构造HTML界面,佐以Bootstrap,美仑美化的界面不再话下.

我要回帖

更多关于 智果内容 的文章

 

随机推荐