![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++ Primer
只对C++ Primer该书中让人迷惑的点进行整理总结,方便日后回过来查看
苞米地里捉小鸡
程序蒟蒻
展开
-
C++11中变量初始化方法汇总
1 背景参考资料[1]P39提到,在C++语言中,初始化与赋值并不是同一个概念:初始化:创建变量时赋予其一个初始值。赋值:把对象(已经创建)的当前值擦除,而用一个新值来代替。参考资料[1]P39指出,初始化是一个异常复杂的问题,因此有必要专门对这个问题进行总结。2 列表初始化参考资料[1]P39指出,作为C++11新标准的一部分,用花括号来初始化变量得到了全面应用(在此之前,只...转载 2020-03-01 23:04:45 · 352 阅读 · 0 评论 -
C++ Primer问题总结(11)
#include<iostream>#include<vector>#include<memory>using namespace std;template <typename T> class BlobPtr;template <typename T> class Blob;template <typename T&...原创 2020-02-29 17:24:36 · 109 阅读 · 0 评论 -
C++ Primer问题总结(10)
1.第15章1.原来使用虚函数是在基类和派生类都将一个函数头前面加上virtual,现在c++11新标准允许派生类显式地注明它将使用哪个成员函数改写基类的虚函数,具体措施是在该函数的形参列表之后增加一个override关键字2.基类通常应该定义析构函数为虚的3.派生类不能直接访问基类的私有成员,但是可以访问受保护类成员练习15.3hppclass Quote{public: Qu...原创 2020-02-27 23:51:10 · 89 阅读 · 0 评论 -
C++ Primer问题总结(9)
1.第12章1.shared_ptr允许多个指针指向同一个对象,unique_ptr则独占所指向的对象,weak_ptr是一种弱引用,指向shared_ptr所管理的对象。这三种类型都定义在memory头文件中。2.智能指针p是一个类对象,他本身不是指针,它保存一个指针,p.get()返回一个指向某个类型的指针3.// 指向一个值为 42的int 的shared_ ptrshared p...原创 2020-02-26 01:07:12 · 113 阅读 · 0 评论 -
C++ Primer问题总结(8)
1.第14章14.2friend ostram & Sales_data::operator>>(ostream &os,Sales_data &Sd);friend istream & Sales_data::operator<<(istream &is,Sales_data &Sd);Sales_data&...原创 2020-02-24 23:26:42 · 128 阅读 · 0 评论 -
C++ Primer问题总结(7)
10.3int main(){ vector<string>v{ "Hello","World" }; auto sum = accumulate(v.begin(), v.end(), string{ "Tim Wu" }); cout << sum << endl;}int main(){ int v1 = 42; auto f ...原创 2020-02-22 22:52:18 · 179 阅读 · 0 评论 -
C++ Primer问题总结(6)
第9章9.2/*9.2*/ deque<int>a = { 1,2,3 }; deque<int>b(a.begin(),a.end()); list<deque<int>> l; l.insert(l.begin(),10, a); for (auto i : l) { for (auto a : i) cout <...原创 2020-02-21 01:14:27 · 192 阅读 · 0 评论 -
C++ Primer问题总结(5)
1.第7章1.定义在类内部的防守是隐式的inline函数。2.在成员函数内部,我们可以直接使用调用该函数的对象的成员,而无需通过成员访问运算符来做到这一点,因为this所指的正是这个对象。this -> bookNo3.this指针不能指向一个常量成员,这是因为this指针是一个常量指针(顶层const),这意味着它只能指向对象的地址而可以通过它改变对象的值,而将一个常量传给它,会出现...原创 2020-02-19 22:54:31 · 62 阅读 · 0 评论 -
C++ Primer问题总结(4)
1.第6章1.实参是形参的初始值2.引用形参是它对应的实参的别名,对引用形参进行的操作相当于在原有的实参上进行,如果不是引用那么会将实参的值拷贝后赋值给形参,这样形参和实参是两个相互独立的对象,这样被称为按值传递参数实参。3.用实参初始化形参时会忽略掉顶层const。4.可以使用非常量初始化一个底层const对象,但是反过来不行;同时一个普通的引用必须用类型的对象初始化。5.参数传递u...原创 2020-02-19 04:27:33 · 133 阅读 · 1 评论 -
C++ Primer问题总结(3)
1.第4章1.bool类型不应该参与计算 比如:bool b = true;bool b2 = -b;这个时候b2仍然为true,这是因为bool类型在参与运算的时候,编译器会自动将其提升为int类型,true为1 ,-b为-1.仍然非零,所以b2仍然非非零,所以转换成布尔值后b2的值为真。2.定义的时候给等号=表示初始化,而不是定义的时候给等号=表示赋值比如:int i = 2;...原创 2020-02-18 17:32:10 · 202 阅读 · 0 评论 -
C++ Primer问题总结(2)
1.第3章1.要学会使用直接初始化string s1("hiya"); 以前都是用的拷贝初始化string s2 = string(10,'c');这非常不理想,可读性较差,也不简洁2.用getline读取一整行的时候是将换行符读进了流中的,但是不会读入要写入的对象或者文件中的,这是因为触发getline函数返回的那个换行符实际上被丢弃了。3.字面值不能直接相加比如:stri...原创 2020-02-18 01:07:30 · 99 阅读 · 0 评论 -
C++ Primer问题总结(1)
1.第一章1.包含来自标准库的头文件,应该用<>,对于不属于标准库的头文件,比如自己创建的头文件则使用" .h"。2.成员函数(menber function)是定义为类的一部分的函数,有时也被称为方法(method).3.cerr:一个ostream对象,关联到标准错误,通常写入到与标准输出相同的设备。默认情况下,写到cerr的数据是不缓冲的。cerr通常用于输出错误信息或其他...原创 2020-02-17 17:31:14 · 191 阅读 · 1 评论