现在的位置: 首页 > 综合 > 正文

程序员面试宝典知识点总结(二)

2014年11月17日 ⁄ 综合 ⁄ 共 1092字 ⁄ 字号 评论关闭

1.  内部连接与外部链接

2.  各个类型的数值范围

       int

       long

       unsignedlong

3.  mutable

4.  sizeof与strlen

       对于类、结构体的大小,得注意数据对齐问题。

       strlen是计算字符串的长度,直到’\0’为止,不包括’\0’。

5.  静态变量

       静态变量存放在全局数据区,而sizeof计算栈中分配的大小,如果结构体中含有静态变量,结构体大小是不包括静态变量。

6.  成员变量

成员变量初始化顺序由声明顺序决定。

静态成员变量在一个类中,供所有对象共享,三字连珠的程序可以感受到。

7.  内联函数

       编译时候替换。

8.  编译、链接的机制

对于一个空类,编译器默认产生4个成员函数:默认构造函数、析构函数、拷贝构造函数和赋值函数。

9.  引用

       引用不能指向空值。

10.    malloc/free和new/delete

11.    句柄

句柄是一个32位的整数,是一个指向指针的指针,主要维护一个对象的地址。Windows是一个以虚拟内存为基础的OS,内存管理器经常在内存中来回移动对象的真实物理地址,以满足各种应用程序的内存需要。那么为了始终能找到被移动的对象,Windows为各个应用程序腾出一些内存地址,用来专门登记各个应用对象在内存的地址变化,而这个地址本身是不变的,这个地址就是句柄。

12.    智能指针

13.    虚函数

14.    构造函数

默认构造函数、含参构造函数、拷贝构造函数

15.    友元

16.    结构体位制

struct A

{

         intx:17;

         inty:9;

         intz:17;

};

17.    cast机制

C++有4个类型转换操作符:const_cast、static_cast、dynamic_cast和reinterpret_cast。

18.    字符串与整型的互相转化

字符串转化为整数,可以采用每一位间’0’再乘10累加的方法。

i = atoi (char*);

整数转化为字符串,可以采用加’0’,再逆序的方法。

              itoa(i, char*, 10);也可以使用sprintf(s,“%d”, 123);

19.    字符串与字符数组的区别

最明显的区别就是字符串会被默认地加上结束符’\0’。

对于字符串和字符数组的输出原则是遇到’\0’为止。

char str[] = “hello”;为字符数组申请6个字节的空间,把字符串值复制进去。

char* str = “hello”;申请一个指针str,使其指向字符串值。

抱歉!评论已关闭.