
C/C++基础
文章平均质量分 69
DrawnBreak
这个作者很懒,什么都没留下…
展开
-
C++ 类构造函数的调用顺序
C++构造函数初始化按下列顺序被调用: 首先,任何虚拟基类的构造函数按照它们被继承的顺序构造;其次,任何非虚拟基类的构造函数按照它们被继承的顺序构造;最后,任何成员对象的构造函数按照它们声明的顺序调用;析构函数的调用顺序刚好相反!#include <iostream>using namespace std;class member1{public: member1(){ cou...原创 2016-09-02 14:44:23 · 1237 阅读 · 0 评论 -
《C++ Primer》 读书笔记第3章——字符串、vector、迭代器和数组
string:★不要在头文件中使用using namespace std★getline中不会存入换行符,但会在遇到换行符结束★string的size()函数返回值是size_type类型,无符号的所以如果size()<-5, 则-5被转换成无符号,则是一个很大的数字★“abc”+"def"是错的, string类型的 s + “def”是对的★cctype头文件中有一堆函数,能够判断一个字...原创 2018-04-17 00:11:43 · 231 阅读 · 0 评论 -
《C++ Primer》读书笔记 第二章——变量、引用、指针、常量和类型
(写在前面:该读书笔记摘录C++ primer中需要注意的知识点,是普通大学课程里或者常见面试题里比较少提到的知识点)数据类型:★long double 是96或128比特★char与 signed char不一样, 实际上char表示为有符号还是无符号取决于编译器因此不要用char去做运算,而应该做比较★执行浮点数计算一般直接用double, 速度不比float慢,而且尽量不要用long do...原创 2018-04-17 00:09:51 · 250 阅读 · 0 评论 -
C++笔记整理
把自己印象笔记中所记录的一些C++知识点整合了一下,可用于面试前对C++知识的快速回顾。不过并不全,只是自己笔记中的摘要,重要的还是系统和踏实地学习。每个知识点不分顺序。1.typeid是什么typeid用于类的类型检查检查是否是同一类型一般用于指针类D d;C *p=d;typeid(*p)==typeid(D)则满足返回类型是type_info2.define的一些注意点#define a 1...原创 2018-02-18 14:33:28 · 309 阅读 · 0 评论 -
【转载】 C++和java的区别
Java从诞生起就一直和C++有着密不可分的关系,但是Java和C++之间还是存在着细微的差别的,这些差别一方面体现了Java在优化C++语言方面做出,那么本文就谈谈C++和Java之间那些区别,笔者假设你对C++有一定程度的认识。本文的组织思路是首先是对两者相似的语法规则上进行对比,然后在针对两种语言特有的语法规则进行对比。1.从数据类型上 Java是一种强类型语言只有八种基本的数据类型,分...转载 2018-02-18 14:13:48 · 200 阅读 · 0 评论 -
C++ 引用和指针的区别 常量指针和指针常量的区别
指针指向一块内存,它的内容是所指内存的地址; 引用是某块内存的别名 引用的一些规则如下: (1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。 (2)不能有NULL 引用,引用必须与合法的存储单元关联(指针则可以是NULL)。 (3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)*和const谁在前,就先念谁...原创 2016-09-02 10:11:05 · 1679 阅读 · 1 评论 -
C++ 3种继承的区别
从下面的图可以看出!继承类中的成员,对3种属性的访问都是一样的,都能访问父类中的public和proteced,但是不能访问private继承类产生的对象,除了公有继承可以访问public,其他2个继承,对象都不能访问父类的成员。保护成员和私有成员的区别就在于 保护继承中的变化!//公有继承 对象访问 成员访问public --> ...原创 2016-09-02 10:48:34 · 465 阅读 · 0 评论 -
指向对象的指针的函数调用问题(含虚函数和纯虚函数知识)
首先是没有涉及虚函数的情况:对象指针不能指向父类对象执行同样的函数talk,选择执行指针所指定的talk例如B *pb,则pb只能指向B或者子类对象,执行相同函数时只执行B的talk</pre></p><p><pre name="code" class="cpp">#include<iostream>#include&l原创 2016-09-02 11:09:57 · 1142 阅读 · 0 评论 -
C++类中的隐式类型转换
C++类中的隐式类型转换 出现于构造函数,而且是单形参(并非指只有一个参数,是指其他参数有默认值,有可能出现只输入一个形参)可以使用一个实参进行调用,不是指构造函数只能有一个形参。 隐式类类型转换容易引起错误,除非你有明确理由使用隐式类类型转换,否则,将可以用一个实参进行调用的构造函数都声明为explicit。 explicit只能用于类内部构造函数的声明。它虽然能避免隐式类型转换带来...原创 2016-09-02 14:27:14 · 376 阅读 · 0 评论 -
C++ 虚基类是什么
有一个类A,A中有个成员 iB和C都继承了AD又同时继承了B和C那么D中的i是来自于B还是来自于C呢?这时候就要用到虚基类(虚继承)此时B和C继承的是同一个对象A,而不是2个A这样i都是来自于一个对象#include<iostream>using namespace std;class A{ public: int i; void showa(){cou...原创 2016-09-02 16:00:25 · 5643 阅读 · 5 评论 -
《C++ Primer》读书笔记第五章——语句
语句大部分都了解,所以摘录的点不多switch 的case标签必须是 “整型常量表达式”2个case标签不能相同几个标签执行相同操作: case 1: case 2: case 3: fun(); break;或者 case 1:case 2:case 3:fun();break;不允许出现这种情况case 1: 定义并“...原创 2018-04-19 00:06:26 · 318 阅读 · 0 评论