![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
Prosat
这个作者很懒,什么都没留下…
展开
-
复习C++小结(四)——类
const成员函数和可变数据成员mutable我们知道,this指针的默认类型是指向类类型非常常量版本的指针常量。这样就会带来一个问题,我们不能够把this指针绑定当一个常量对象上(因为底层const等级不同)。比如下面这个例子。class Solution{public: string isbn; string getIsbn() { return isbn; };};int...原创 2020-03-06 17:50:39 · 546 阅读 · 0 评论 -
复习C++小结(三)——函数
尽量使用常量引用把函数不会改变的形参定义成普通的引用是一种常见的错误,这不仅会给函数调用者带来一种误导,即函数可以修改它实参的值,还会引起以下的严重错误。int get_size(string& s){ return s.size();}该函数的形参是普通引用,因此不能接受常量引用,由于C++中,字符串字面值是const char* 类型,试图用常量引用初始化非常量引用的变量...原创 2020-03-06 14:32:31 · 172 阅读 · 0 评论 -
复习C++小结(二)
size_type类型string::size_type是string::size()函数的返回值,他是一个无符号整数,所以以下代码会返回true;bool main(void){ string world; auto len = world.size(); // 虽然len=0但他是无符号的因此满足<-1 if (len < -1) return true; else ...原创 2020-03-04 19:35:15 · 119 阅读 · 0 评论 -
复习C++小结(一)
nullptrC++11中新加入了nullptr来初始化空指针。nullptr是一种特殊类型的字面值,它可以被转换成任意其他类型的指针。现在应当尽量使用nullptr而不是NULL来初始化空指针。 int *a = nullptr; char *c = nullptr;变量的声明与定义变量能且只能被定义一次,但可以被多次声明。extern double pi = 3.14; // 定...原创 2020-03-04 15:23:09 · 497 阅读 · 0 评论