【共读Primer】3.<1.3>注释简介 Page8

C++的注释有两种

1.  双斜杠开始到本行结束 (//)

2. 斜杠星开始 星斜杠结束 (/*)(*/)

 1 #include <iostream> // 标准库中输入输出流的库名称
 2 /*
 3  * 简单主函数:
 4  * 读取两个数,求它们的和
 5  */
 6 int main()
 7 {
 8     std::cout << "Enter two numbers:" << std::endl;// 输出一个提示信息的字符串,并在结尾换行
 9     int v1 = 0, v2=0;// 声明两个int型的变量,都赋值为0
10     std::cin >> v1 >> v2;// 从键盘输入中读取两个数字,分别写入v1和v2两个变量中
11     std::cout << "The sum of " << v1 << " and " << v2// 与下一行是一条命令
12                    << " is " << v1 + v2 << std::endl;// 输出v1、v2的值,并且输出两数之和的值
13     return 0;
14 }

我们把上次的代码加上一个比较详细的注释。

注释的目的: 让代码阅读者更清晰的理解编码者的代码意义。

注释的一种错误用法   ,/* */的嵌套使用

/*
 * 注释对 /* */ 不能嵌套。
 * “不能嵌套” 几个字会被认为是源码,
 * 象剩余程序一样处理
 */
int main()
{
   return 0
}

大家看一下代码着色就能发现,嵌套使用后的注释对会出现问题。

从以往的编码经验中得到关于注释的经验有以下几点

1. 注释并不是越多越好,能很好自解释的代码就没有必要写注释,而对于复杂的算法或逻辑关系应该写清楚

2. 注释最重要的一点是给别人,或者以后的自己看,所以要保证读者能够在尽量短的时间内理解

3. 注释的代码一致性也是很重要的,修改代码的同时一定要修改注释,否则宁愿没有注释

原文地址:https://www.cnblogs.com/ChattyKu/p/9393972.html

时间: 2024-10-14 05:16:59

【共读Primer】3.<1.3>注释简介 Page8的相关文章

【共读Primer】8.&lt;2.1&gt; 基本内置类型(2) Page32

虽然C++中的类型是强制声明的,但是这并不意味着不同类型之间不可以进行一些计算或赋值. 我们来看下面的一组代码 1 #include <iostream> 2 3 int main() 4 { 5 bool b = 42; 6 int i = b; 7 double pi = i; 8 unsigned char c = -1; 9 signed char c2 = 256; 10 std::cout << "bool b =" << b 11 &l

【共读Primer】10.&lt;2.3&gt; 复合类型 Page45

C++的复合类型 引用和指针 引用就像是类型的别名 int ival = 1024; int &refVal = ival; // int &refVal2 ; // 报错:引用必须被初始化 int &refVal1 = ival, &refVal2 = ival, &refVal3 = refVal1, Val4=ival; // refVal1/refVal2/refVal3都是引用,其中refVal3用另一个引用进行初始化 // Val4是一个int它并不是引

【共读Primer】19.&lt;3.5&gt; 数组-C风格字符串 Page109

C风格的字符串是指以空字符'\0'结尾的一个字符串. 这种字符串虽然在C++中兼容,但是极易引起内存安全问题,所以不建议使用. 但是作为一个语言特性,我们应该了解它,这样才能在碰到的时候做到心中有数. 3.5.4 C标准库string函数 这里所说的string函数并不是std::string的函数,而是在C的标准库中,对C风格字符串进行操作的一些全局函数. strlen(p); //计算p的长度,不计入空字符结尾 strcmp(p1, p2); // 比较两个字符串p1和p2是否相等,相等返回

【共读Primer】20.&lt;3.6&gt; 多维数组 Page112

C++中的多位数组,严格来说是数组的数组. int ia[3][4]; //大小为3的数组,每个元素是含有4个整数的数组 // 大小为10的数组,每个元素都是大小为20的数组, // 这些数组的元素是含有30个整数的数组 int arr[10][20][30] = {0}; // 将所有元素初始化为 0 初始化多维数组 int ia1[3][4] = { {0,1,2,3}, {4,5,6,7}, {8,9,10,11} }; // 以下语句等价于上面的初始化 int ia2[3][4] = {

【共读Primer】27.&lt;4.7&gt;条件运算符 Page134

条件表达式,判断第一个表达式的真假,如果为真,返回冒号左侧的结果,如果为假返回冒号右侧的结果 (a> b ?  a : b) string finalgrade = (grade < 60) ? "fail" : "pass"; // 如果grade小于60则返回fail,否则返回pass 条件运算符的嵌套 // 如果grade值90以上,返回"high pass" ,否则看是否小于60,小于则返回fail,大于等于则返回pass f

【共读Primer】26.&lt;4.6&gt;成员访问运算符 Page133

成员访问运算符: . 点运算符 -> 箭头运算符 string s1="a string", *p = &s1; auto n = s1.size(); // 运行string对象s1的size成员 n = (*p).size(); // 运行p所知对象的size成员 n = p->size(); // 等价于(*p).size() 因为皆因用运算符的优先级低于点运算符,所以执行解引用运算的子表达式两端必须加括号. 如果不加括号则含义会不同 // 含义是:运行p的s

【共读Primer】35.&lt;5.2&gt;语句作用域 Page155

在if .switch. while 和for语句的控制结构内定义的变量只在其结构内部可见,超出结构范围将变为未定义. 1 #include <iostream> 2 #include <vector> 3 4 using std::cout; 5 using std::endl; 6 7 std::vector<int> v = {1,2,3,4,5,6,7,8,9}; 8 9 10 int get_num() 11 { 12 return 1; 13 } 14 15

【共读Primer】46.[6.3]参数传递--main函数处理参数 Page196

前面所讲到的main函数都是空参数列表的. 相信大家都见过启动程序带的参数,那么这些参数时如何传递进去的. 现在我们来看一下main函数声明的完整形式 int main(int argc, char **argv) { for (int i = 0; i < argc; ++i) { std::cout << "command param " << i << " is :"<< argv[i] <<

【共读Primer】49.[6.3]返回类型和return语句--关于返回值 Page201

值是如何被返回的 返回值用于初始化调用点的一个临时量. 在下面的函数中,返回值的内容是被拷贝到调用点 string make_plural(size_t ctr, const string &word, const string &ending) { return (ctr > 1) ? word + ending : word; } 在下面的函数中则是将引用型参数作为返回值直接返回了参数的引用 const string & shorterString(const strin