摘要: 1. 初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,而以一个新值来代替。 2.使用列表初始化内置类型的变量时,如果初始值存在丢失信息的风险,则编译器将报错。 3.如果想声明一个变量而非定义它,就在变量名前添加关键字extern,而且不要显示的初始化它,任 阅读全文
posted @ 2017-07-23 16:51 MyCPlusPlus 阅读(147) 评论(0) 推荐(0)
摘要: 1.函数内的局部静态对象在程序的执行路径第一次经过对象定义语句的时候初始化,并且直到程序终止才被销毁,在此期间即使对象所在的函数结束执行也不会对它有影响。 size_t get_count() { static size_t count = 0; return ++count; } 2.当实参初始化 阅读全文
posted @ 2017-07-23 16:04 MyCPlusPlus 阅读(287) 评论(0) 推荐(0)
摘要: 1.C++语言并未定义任何输入输出语句,取而代之,包含了一个全面的标准库来提供IO机制。 由上图能够知道,I/O操作的基类是ios_base,各个类的用途例如以下: <iostream> istream 从流中读取数据 ostream 向流中写数据 iostream 对流进行读写操作。派生于istr 阅读全文
posted @ 2017-07-23 16:03 MyCPlusPlus 阅读(371) 评论(0) 推荐(0)
摘要: 1.算术类型分为两类:整型和浮点型。算术类型的尺寸在不同机器上有所差别,下表列出了C++标准规定的尺寸的最小值。同时允许编译器赋予这些类型更大的尺寸。 一个char的大小和一个机器字节一样。 一个int至少和一个short一样大; 一个long至少和一个int一样大; 一个long long至少和一 阅读全文
posted @ 2017-07-23 16:03 MyCPlusPlus 阅读(260) 评论(0) 推荐(0)
摘要: 我们知道:0是一个int,而不是一个指针。如果C++在一个只有指针才能够使用的上下文中发现它只有一个0,那么它会勉强将0解释成空指针,但那时一种倒退行为。C++的主要方针是0就是一个int,而不是指针。 实际上来说,对于NULL也是一样。关于NULL还有一些不确定因素,因为其实现允许给NULL一个整 阅读全文
posted @ 2017-07-23 15:51 MyCPlusPlus 阅读(874) 评论(0) 推荐(0)
摘要: 1.数组的大小是固定不变的,声明时必须指定大小(或者使用列表初始化),而且大小必须大于0,C++ Primer里面也建议,如果不确定元素的个数,请使用vector。 int arr[3]; int arr1[] = { 0 , 1, 2 }; //数组长度固定为3 2.和内置类型一样,如果在函数内部 阅读全文
posted @ 2017-07-18 16:40 MyCPlusPlus 阅读(455) 评论(0) 推荐(0)
摘要: 1. 为什么需要 CPU 虚拟化 X86 操作系统是设计在直接运行在裸硬件设备上的,因此它们自动认为它们完全占有计算机硬件。x86 架构提供四个特权级别给操作系统和应用程序来访问硬件。 Ring 是指 CPU 的运行级别,Ring 0是最高级别,Ring1次之,Ring2更次之…… 就 Linux+ 阅读全文
posted @ 2017-04-08 17:32 MyCPlusPlus 阅读(610) 评论(0) 推荐(0)
摘要: 在我们用C/C++开发的过程中,总是有一个问题会给我们带来苦恼。这个问题就是函数内和函数外代码需要通过一块内存来交互(比如,函数返回字符串),这个问题困扰和很多开发人员。如果你的内存是在函数内栈上分配的,那么这个内存会随着函数的返回而被弹栈释放,所以,你一定要返回一块函数外部还有效的内存。 这是一个 阅读全文
posted @ 2017-03-31 09:52 MyCPlusPlus 阅读(173) 评论(0) 推荐(0)
摘要: 返回值 decltype(表达式) [返回值的类型是表达式参数的类型] 这个可也用来决定表达式的类型,就像Bjarne暗示的一样,如果我们需要去初始化某种类型的变量,auto是最简单的选择,但是如果我们所需的类型不是一个变量,例如返回值这时我们可也试一下decltype。 现在我们回看一些例子我们先 阅读全文
posted @ 2017-03-14 15:51 MyCPlusPlus 阅读(218) 评论(0) 推荐(0)
摘要: explicit用来防止由构造函数定义的隐式转换。 要明白它的作用,首先要了解隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。 例如: 这里things的构造函数可以只用一个实参完成初始化。所以可以进行一个隐式转换,像下面这样: 这段程序使用一个string类型对象 阅读全文
posted @ 2017-03-09 17:29 MyCPlusPlus 阅读(206) 评论(0) 推荐(0)