xqn2017

导航

随笔分类 -  C/C++

STL中vector的用法
摘要:原本以为自己掌握了vector,但其实只是掌握了vector的访问,特别是删除操作返回的是一个迭代器,却容易和Python的remove()直接删除元素混淆,没有理解透彻,因此在这里总结一下vector的基本用法。 vector应该是STL种最常用的容器了,可以当做数组来看待,只不过vector的元 阅读全文

posted @ 2018-06-07 20:05 xqn2017 阅读(426) 评论(0) 推荐(0)

C语言函数入参压栈顺序为什么是从右向左?
摘要:看到有人提问到,在处理printf/cout时,压栈顺序是什么样的?大家都知道是从右往左,也就是说从右往左的计算,但是,这里的计算不等于输出。 a++和++a的压栈的区别:在计算时,遇到a++会记录此时的a的值作为最后的输出结果。遇到a和++a的时候则不会将此时的计算结果作为最终的输出,只会修改a的 阅读全文

posted @ 2017-12-13 19:13 xqn2017 阅读(2854) 评论(0) 推荐(1)

对C++ 虚函数的理解
摘要:C++多态是通过虚函数实现的,虚函数允许派生类重新定义基类的成员函数,而派生类重新定义基类的做法称为覆盖,或者重写。多态和非多态的区别在于函数地址是早绑定还是晚绑定,如果函数的调用在编译期间就确定了调用地址,并产生代码,是静态的,就是说地址是早绑定的,而如果函数调用的地址不能在编译器期间确定,需要在 阅读全文

posted @ 2017-12-12 20:10 xqn2017 阅读(172) 评论(0) 推荐(0)

为什么单例模式中的成员函数都是静态的?
摘要:你只要弄明白单例模式是如何实现的,就能从本质上理解这个问题;单例模式实现过程如下:首先,将该类的构造函数私有化(目的是禁止其他程序创建该类的对象);其次,在本类中自定义一个对象(既然禁止其他程序创建该类的对象,就要自己创建一个供程序使用,否则类就没法用,更不是单例);最后,提供一个可访问类自定义对象 阅读全文

posted @ 2017-12-12 19:50 xqn2017 阅读(1073) 评论(0) 推荐(0)

C++随记
摘要:1、const限定符 const限定变量的值不可变,并且const对象必须要初始化 const int buf = 512; //正确,表明buf的值为512 buf = 400; //错误,buf的值不可变 const int temp; //错误,必须要初始化 2、引用 引用必须要初始化,且初始 阅读全文

posted @ 2017-12-11 18:24 xqn2017 阅读(134) 评论(0) 推荐(0)

C++实现二分查找
摘要:#include #include #include #include using namespace std; int main() { vector v1; vector::iterator start; vector::iterator end; vector::iterator mid; int loop = 0; int key = 11; for (loop ... 阅读全文

posted @ 2017-12-11 18:23 xqn2017 阅读(1038) 评论(0) 推荐(0)

C++中文件读写的操作
摘要:在C++中读读写文件一般指的就是磁盘中的文本文件和二进制文件: 文本文件:以字符序列组成的文件 二进制文件:由二进制组成的文件 读写文件采用ofstream和ifstream文件流,两者可用头文件<fstream>包含,具体代码如下: 阅读全文

posted @ 2017-12-07 10:01 xqn2017 阅读(3882) 评论(0) 推荐(0)