C++ Primer笔记# 基础篇
文章平均质量分 60
先点菜吧
Ston.V
2016年一个枯槁憔悴的春天,在华科毫无目的的浪费了一年半的时间后,我终于选定了嵌入式方向。其实这选择并不是突发奇想,当年有对智能家居,物联网感兴趣,但偶然进入软件这坑爹的专业,还好大二下开了计组,操原等课程,对底层产生兴趣,再加上计算机三级考试若干方向,又加之网课老师还不错就干脆跳坑。虽前路艰辛,愿初心不改。
2021夏天,回到华科读研,存储方向,仍然是嵌入式。是深坑但已经懒得爬出来了。
展开
-
C++ Primer笔记7---chapter7 类
1.成员函数的声明必须在类的内部,而其定义可内可外,定义在类内部分函数时隐式inline函数。对于接口组成部分的非成员函数(往往或使用到私有成员变量,可声明为友元)的定义和声明都放在类的外部。2.this是一个指向类类型非常量版本指针常量(书中称为常量指针,不可改变其存储的地址值),在默认情况下我们不能将其绑定到一个常量对象上,这就使得我们不能再一个常量对象上调用普通的成员函数,因此我们可以将this声明为指向常量的常量指针(在成员函数的参数列表后加上const),这样只要函数体中不需要改变thi.原创 2021-06-05 22:50:32 · 158 阅读 · 0 评论 -
C++ Primer笔记6---chapter6 函数
1.局部静态变量:在第一次被执行时被初始化,知道程序终止时才被销毁;对于类的static成员变量,其对象的所有实例都共用这一个成员变量;局部静态变量默认初始值为0//其中该ctr表示自己被调用了多少次size_t count_calls(){ static size_t ctr=0; return ++ctr;}2.函数声明没有函数体,所以实际上形参的名字可以省略,当然加上更好一般习惯声明放在头文件中,定义放在源文件中,含有函数声明的头文件应该被包含到定义函数的源文件.原创 2021-06-01 22:53:08 · 153 阅读 · 2 评论 -
C++ Primer笔记5---chapter5 语句
1.对于for循环,曾经一直有个易忘的点:for中的条件的修改是发生在循环迭代之后的;也就是for一进来要是符合条件就循环,然后修改,然后继续判断条件是否符合;在终止时也是条件不符合的时候对于C++ 11中的范围for循环一般用于遍历容器或者其他序列,注意修改元素时不要忘记是使用引用类型在范围for循环中,事实上我们预存了end()值,这也就解释了为什么不能使用范围for循环向容器添加对象vector<int> v={0,1,2,3,4,5,6,7,8};//想要修改时,不要忘.原创 2021-05-30 18:56:59 · 149 阅读 · 0 评论 -
C++ Primer笔记4---chapter4 表达式
1.注意赋值运算优先级比较低,一定要注意加括号另外我的常犯的错:对于i=j=0,这句话等价于j=0,i=j;也就是赋值运算的返回值正是赋的那个值,我总以为是赋值成功返回1一下两种写法都对,第二种解法更简洁直白,但是注意赋值运算优先级较低,需要加上括号int i=get_value();while(i!=42){ i=get_value(); //...}int i;while((i=get_value())!=42){ //...}2.递增递减的前.原创 2021-05-30 12:43:16 · 135 阅读 · 0 评论 -
C++ Primer笔记3---chapter3 字符串&向量&数组
1.头文件不应该包含using声明2.拷贝初始化和直接初始化:对于有连续多少个重复字符的用直接初始化string s1="hello"; //拷贝初始化string s2("hello"); //直接初始化string s3(10,'c'); //直接初始化3.string.size()返回的时string::size_type类型的值,可以用auto或者decltype获得其类型(事实上,返回的是一个unsigned int,注意避免和int混用造成由于越界导..原创 2021-05-06 11:22:03 · 527 阅读 · 4 评论 -
C++ Primer笔记2---指针常量与常量指针的表述
1.普遍理解一般的理解是:(从右往左看,先是const表示为常量,先是*表示为普通的指针)指针常量:即指针本身的值(存下的地址)是不可改变的,即顶层const(从右往左,先顶后底)int * const p=nullptr;常量指针:即为常量的指针,即底层constconst int *q=nullptr;2.C++ Primer中的翻译问题本身上面的理解是没有问题的,网上大多的理解也是如此,但是在第五版C++ Primer中的常量指针的描述如下,和我们的理解恰好相反原创 2021-04-28 16:41:27 · 434 阅读 · 0 评论 -
C++ Primer笔记1---chapter2 变量和基本类型
1.在C++中char有无符号是不确定的,默认类型由编译器决定,需要你显示的说明unsigned or signed。以前本科毕设将contiki移植到cc2530上时,就遇到过这个问题导致的死循环2.对于浮点用double,有10位有效数字(float常常精度不够但开销差不多),long double一般是没有必要的3.给无符号类型赋超过他的范围的值,结果为取模后的结果,给带符号类型赋超过他范围的值的结果是未定义的//结果为255unsigned char c1=-1;//结果为未定义原创 2021-04-28 16:26:00 · 380 阅读 · 0 评论