上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 56 下一页
摘要: 《C++ Primer》 P82 阅读全文
posted @ 2024-09-18 07:53 double64 阅读(21) 评论(0) 推荐(0)
摘要: 因为某些历史原因,也为了与℃兼容,所以 C++ 语言中的字符串字面值并不是标准库类型 string 的对象。切记,字符串字面值与string是不同的类型。 所以,不能将两个字面值字符串直接相加+。 参考:《C++ Primer》 P81 阅读全文
posted @ 2024-09-18 07:49 double64 阅读(16) 评论(0) 推荐(0)
摘要: class Dog { public: void Update_Func(short i); short (Dog::*pfunc)(short); std::function<short(short)> ffunc; public: short goodMorning(short id); sho 阅读全文
posted @ 2024-09-16 10:32 double64 阅读(23) 评论(0) 推荐(0)
摘要: 一般而言,一个左值表达式表示的是一个对象的身份,而一个右值表达式表示的是对象的值。 我们不能将其绑定到要求转换的表达式、字面常量或是返回右值的表达式(参见 2.3.1节,第 46页)。右值引用有着完全相反的绑定特性:我们可以将一个右值引用绑定到这类表达式上,但不能将一个右值引用直接绑定到一个左值上: 阅读全文
posted @ 2024-09-16 09:25 double64 阅读(23) 评论(0) 推荐(0)
摘要: 希望从表达式的类型推断出要定义的变量的类型,但是不想用该表达式的值初始化变量。 decltype(f())sum =x; //sum的类型就是函数f的返回类型 编译器并不实际调用函数f,而是使用当调用发生时f的返回值类型作为sum 的类型。 decltype 处理顶层 const 和引用的方式与 a 阅读全文
posted @ 2024-09-15 21:02 double64 阅读(43) 评论(0) 推荐(0)
摘要: int i=0, &r = i; auto a=r; // (int a) a是一个整数(r是i的别名,而i是一个整数) auto 一般会忽略掉顶层 const(参见 2.4.3节,第57页),同时底层 const 则会保留下来,比如当初始值是一个指向常量的指针时: const int ci=i, 阅读全文
posted @ 2024-09-15 20:25 double64 阅读(58) 评论(0) 推荐(0)
摘要: “工具”->“选项”->“文本编辑器”->“C/C++”->“代码样式”->“格式设置”->“间距”->“指针/引用对齐方式”->“右对齐”。 阅读全文
posted @ 2024-09-15 19:52 double64 阅读(54) 评论(0) 推荐(0)
摘要: 指针、常量和类型别名 如果某个类型别名指代的是复合类型或常量,那么把它用到声明语句里就会产生意想不到的后果。例如下面的声明语句用到了类型pstring,它实际上是类型 char* 的别名 typedef char *pstring; const pstring cstr=0; //cstr是指向ch 阅读全文
posted @ 2024-09-15 19:50 double64 阅读(26) 评论(0) 推荐(0)
摘要: 定义静态成员 和其他的成员函数一样,我们既可以在类的内部也可以在类的外部定义静态成员函数。当在类的外部定义静态成员时,不能重复static关键字,该关键字只出现在类内部的声明语句: void Account::rate(double newRate) { interestRate = newRate 阅读全文
posted @ 2024-09-15 12:30 double64 阅读(48) 评论(0) 推荐(0)
摘要: 拷贝构造函数 拷贝构造函数的第一个参数必须是一个引用类型。虽然我们可以定义一个接受非 const 引用的拷贝构造函数,但此参数几乎总是一个 const 的引用。 拷贝构造函数在几种情况下都会被隐式地使用。因此,拷贝构造函数通常不应该是explicit的(参见 7.5.4节,第 265 页)。 一般情 阅读全文
posted @ 2024-09-15 12:16 double64 阅读(33) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 56 下一页