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