
C++ Primer
文章平均质量分 74
努力努力再努力r
这个作者很懒,什么都没留下…
展开
-
2.1 基本内置类型(2)字面值常量,转义序列
字面值常量 每个字面值常量对应一种数据类型。 整型字面值:十进制,八进制(以0开头),十六进制(以0x或0X开头)。类型short没有对应的字面值。 字符串字面值:即'a'和"Hello World!"。注意,编译器在每个字符串的结尾处添加一个空字符'\0',因此字符串字面值的实际长度比它的内容多1 。如果两个字符串位置紧邻并且仅由空格、缩进和换行符分隔,则他们实际上原创 2017-09-23 13:27:02 · 260 阅读 · 0 评论 -
类
类定义抽象数据类型->访问控制与封装->类的其他特性->类的作用域->构造函数再探->类的静态成员类的基本思想是:数据抽象和封装定义抽象数据类型struct Sales_data{ std::string isbn() const {return bookNo;} Sales_data& combine(const Sales_data&); double原创 2017-12-11 22:31:31 · 242 阅读 · 0 评论 -
函数
函数函数基础->参数传递->返回类型和return语句->函数重载->默认实参->内联函数和constexpr函数->调试帮助->函数指针局部对象:会隐藏外层作用域中同名的其他所有声明,包括同名的函数局部静态对象:局部变量定义成static类型,那么这个变量在程序的执行路径第一次经过对象定义语句时初始化,并且直到程序终止才被销毁。示例:函数统计自己被调用了多少次size_t原创 2017-12-09 18:33:20 · 231 阅读 · 0 评论 -
语句
语句范围for语句C++11引入范围for语句,注意如果需要对序列中的元素执行写操作,循环变量必须声明成引用类型:vector v = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};for(auto &r : v) r *= 2; do while语句do while与while相似,区别是,do while语句先执行循环体后检查循环条件。至少执行原创 2017-12-09 11:37:26 · 203 阅读 · 0 评论 -
4. 表达式
表达式取地址&,解引用*,都是运算符,只不过这叫一元运算符。左值和右值以前的理解是能作为等号左边的就是左值,能放在等号右边的就是右值。那是C语言。C++中不一样,比如常量对象,不能放在等号左边,但是他是左值。C++中应该这样理解:当一个对象被用作右值的时候,用的是对象的值(内容);当对象被用作左值的时候,用的是对象的身份(在内存中的位置)。算术运算符+(正),-(负),*,/,%,原创 2017-12-09 10:53:49 · 277 阅读 · 0 评论 -
2.1 基本内置类型(1)
C++的基本数据类型:算数类型和空类型。算数类型:字符、整型数、布尔值、浮点数。算数类型又可以分为整型和浮点型。C++为算数类型定义了最小尺寸,编译器可以赋予这些类型更大的尺寸:bool(布尔类型)未定义char(字符) 8位。wchat_t(宽字符)16位char16_t(Unicode字符)16位char32_t(Unicode字符)32位short(短整型原创 2017-09-22 09:05:10 · 242 阅读 · 0 评论 -
2.5类型别名,auto, decltype
类型别名两种方式:(1)typedef (2)别名声明using SI = Sales_item;复合类型和类型别名typedef char *pstring;const pstring cstr = 0; //cstr是指向char的常量指针const pstring *ps; //ps是一个指针,它的对象是指向char的常量指针注意:遇到一条使用了类型别名的声明语句,不要把原创 2017-09-30 19:23:49 · 216 阅读 · 0 评论 -
2.4Const限定符(const初始化,const与引用,const与指针,const指针,顶层const,constexpr)
const对象的初始化const对象必须初始化,初始值可以是任意复杂的表达式,如果用一个对象初始化另外一个对象,则他们是不是const都无关紧要。int i = 42;const int ci = i; //正确int j = ci; //正确默认情况下,const对象仅在文件内有效const对象被设为仅在文件内有效。当多个文件中出现了同名的const变量时,其实等同于在不原创 2017-09-29 10:09:31 · 302 阅读 · 0 评论 -
2.3复合类型(引用和指针)
(引用)引用就是给对象起了另一个名字。(C++有左值引用和右值引用,这里是左值引用)定义引用int &refVal = ival; 引用必须被初始化。 初始化之后引用对象不能再引用别的对象。int ival = 1024;int &refVal = ival;int &refVal2; //错误,引用必须被初始化(1)定义引用时,是把引用和他的初始值绑定在一起,没原创 2017-09-27 09:44:23 · 173 阅读 · 0 评论 -
2.2变量(1)初始化,声明和定义,extern,静态类型,作用域
变量的初始化和赋值的区别 变量的初始化不是赋值,初始化的含义是创建变量时赋予一个初始值,赋值的含义是擦除当前的值,用新的值来替代。初始化方式,列表初始化 int units_sold = 0; int units_sold(0); int units_sold = {0}; int units_sold{0}; 用花括号来初始化的形式原创 2017-09-23 15:11:17 · 861 阅读 · 0 评论 -
如何正确的通过 C++ Primer 学习 C++(摘自知乎)
作者:知乎用户链接:https://www.zhihu.com/question/32087709/answer/54936403来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。个人经验,C++ primer 第一次可以跳着看。关键是要尽快用起来,在使用中熟练,而不是在细节中迷失。以C++ Primer第五版为例,第一遍读的时候:Part1也就是前七章,除了6.6,6...转载 2018-03-12 17:00:48 · 7170 阅读 · 0 评论