![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++程序员面试秘笈
I_ren
这个作者很懒,什么都没留下…
展开
-
C/C++程序员面试秘笈——10.STL
读写文件#include <fstream>istream in("in.txt")//按字节读while (EOF != (ch=f.get()))//按行读char line[128];f.getline(line, 128)string buf;getline(f, buf);fstream out("out.txt")out << line << endl;红黑树的规则1.叶节点和根节点为...原创 2020-08-21 19:56:51 · 154 阅读 · 0 评论 -
C/C++程序员面试秘笈——9. 排序
希尔排序模板的缺点可能导致代码膨胀解决方式:将模板中与参数无关的代码分离模板的特化需要对某些类型进行特殊处理函数模板特化:当IsEqual参数类型为char*时,会调用特化版本类模板特化:部分模板特例化1.对部分模板参数进行特例化2.使用具有某一特征的类型(引用,指针):template <class T>class A<T*>class A <T&&g...原创 2020-08-20 19:02:10 · 152 阅读 · 0 评论 -
C/C++程序员面试秘笈——1.基础
交换2个数不使用临时变量,且不会出现溢出的方法预处理命令——编译器当前使用c++编译器:#ifdef __cplusplus当前使用c编译器:#ifdef __STDC__重载的底层实现C++支持重载,C不支持重载1.编译生成的符号可能为_foo_int_int2.编译生成的符号可能为_foo_int_float增加extern "C"声明后,编译生成目标代码时,采取C语言的方式,可能为_foo。at...原创 2020-08-06 19:36:49 · 421 阅读 · 0 评论 -
C/C++程序员面试秘笈——2.预处理,const, static, sizeof
define中的#和###s:将宏参数s变为字符串a##b:将参数a和b连接起来内联函数与宏宏缺点:1.不能进行参数有效性检查2.参数类型不能作自动类型转换3.不能访问类成员变量4.容易产生二义性内联函数:要求不允许有循环或递归,如果不符合要求,会被当做普通函数有参数类型检查会使代码变长,占用内存...原创 2020-08-11 20:55:55 · 177 阅读 · 0 评论 -
C/C++程序员面试秘笈——3. 引用和指针
字、字节、bit一个字节(byte) = 8 bit一个字 = 4 type (32位系统)一个字 = 8 byte (64位系统)句柄windows环境中用来标识项目(模块、任务、文件等)指针和句柄区别:1.句柄指向与系统相关的结构,如线程的句柄2.指针指向的结构通常用用户定义...原创 2020-08-12 19:26:36 · 126 阅读 · 0 评论 -
C/C++程序员面试秘笈——4. 字符串
C库函数中数字与字符串的转换数字 -> 字符串字符串 -> 数字原创 2020-08-14 16:07:51 · 129 阅读 · 0 评论 -
C/C++程序员面试秘笈——5.位运算与嵌入式编程
printf中%d,%f区别%d表示参数为int类型,会从栈中读取4个字节%f表示参数为double类型,会从栈中读取8个字节中断服务程序ISR1.不能返回值2.不能传递参数3.不应当作浮点运算(不可重入)4.不应当调用printf(不可重入)裸奔系统中,中断程序由硬件触发执行。这意味着中断函数没有具体的调用者,所以,中断函数无法将值返回给任何对象。...原创 2020-08-16 20:10:50 · 233 阅读 · 0 评论 -
C/C++程序员面试秘笈——6.面向对象
静态数据成员相比全局对象的优势静态数据成员不会与程序中其他全局名字冲突静态数据成员可以是private成员,隐藏信息拷贝构造函数与赋值构造函数的区别拷贝构造函数是一个构造函数;用一个对象来初始化新对象的内存区域赋值构造函数是operator=操作;对一个已经被初始化的对象进行赋值;如果原来对象中有内存分配,先要把内存释放掉;如果两个对象是同一个对象,则不做任何操作。...原创 2020-08-17 20:10:10 · 131 阅读 · 0 评论 -
C/C++程序员面试秘笈——7.继承和多态
私有继承方式私有继承中,不允许将子类对象转换成父类对象私有继承子类和父类不是is a 的关系,而是is implement in terms of(以...实现)组合与私有继承有一个(has a)关系,单一组合可以与私有继承替换区别:继承可能引入不必要的多重继承继承允许子类指针到父类指针的转换,允许子类重写父类虚函数,允许子类访问父类protected成员选择:尽可能使用组合构造函数...原创 2020-08-18 19:45:50 · 201 阅读 · 0 评论 -
C/C++程序员面试秘笈——8. 数据结构
约瑟夫环将剩下的人重新编号新的编号: 0 1 2 3 4 5 6 7 … n-2对应原来的编号:m m+1, …n-1,0,1…m-2new_idx = (old_idx + m) % nf(1)=0;//递归出口f(n)=[f(n-1)+m]%n;//递归体`原创 2020-08-19 18:26:12 · 152 阅读 · 0 评论