C/C++
时间的流逝
天道酬勤
展开
-
类的初始化操作
C++中类的初始化操作有四个部分组成:1.初始化列表:所有类非静态数据成员都可以在这里初始化, 所有类静态数据成员都不能在这里初始化(static 属于类,为类的所有成员共有,所以一般在类的内部声明,类的外部初始化)2.构造函数体: 对于类非静态数据成员: const型成员不能在这里初始化原创 2017-09-25 10:00:10 · 1604 阅读 · 0 评论 -
C/C++基础题
1、#include< file.h> 与 #include “file.h”的区别? 前者是直接从标准库路径中寻找,后者是优先从当前目录下寻找。 2、const 有什么用途 在C/C++中,(1)可以定义const常量,(2)修饰函数的返回值和形参; 在C++中,还可以修饰函数的定义体,定义类的const成员函数。被const修饰的东原创 2017-09-25 10:43:03 · 445 阅读 · 0 评论 -
构造函数与析构函数关键点
1、构造函数能否为虚函数? 构造函数不能为虚函数。 1. 从存储空间角度,虚函数对应一个指向vtable虚函数表的指针,可是这个指向vtable的指针其实是存储在类的对象的内存空间的,属于类的对象的一部分。那么问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是在构造一个类的新对象时,对象还没有完全实例化,还没有创建完成,也就是内存空间还没有,怎么找vtabl原创 2017-09-25 12:22:07 · 213 阅读 · 0 评论 -
C/C++库函数的string内存拷贝
面试过程中,面试官一般会让写一些基础的库函数,比如strcpy,memcpy,memmove等。下面做个解释函数。 1、标准库函数strcpy,把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间。 char *strcpy(char *dst,const char *src) { assert(dst != NULL); assert(src !=原创 2017-09-25 16:04:11 · 1015 阅读 · 0 评论