29day---C++面试题

1.只能使用成员函数重载的运算符有:=、()、[]、->、new、delete。
2.关于指针的知识点
(1)free 掉一个指针后,指针仍然指向原来的地址。free 的意义在于告诉系统目标地址可以被回收。
(2)32 位系统中MAR(内存地址寄存器)为32位,可寻址范围为2的32次方Byte,共大约不足4G的内存空间。指针中保存内存地址,所以大小和MAR大小相同。32位系统下任何类型指针的长度都是4个字节
(3)指针的类型用于确定指针所指的对象的类型,因此初始化或赋值时必须保证类型匹配。指针用于间接访问对象,并给予指针的类型提供可执行的操作,例如,int型指针只能把其指向的对象当作int型数据来处理,如果该指针指向了其他类型(如double类型)的对象,则在指针上执行的任何操作都有可能出错。指针的数据类型声明的是指针实际指向内容的数据类型
(4)一个有效的指针必然是以下三种状态之一:
保存一个特定的对象的地址;
指向某个对象后面的另一对象;
或者是0值。
野指针是指向未分配或者已经释放的内存地址
3.以下多线程对int型变量x的操作,哪几个不是原子操作
x=y x++ ++x
4.假设Aclass为抽象类,下列正确的说明语句是
A Aclass fun( int );
B Aclass *p;
C int fun( Aclass );
D Aclass Obj;
解:
抽象类不能被实例化,但是可以存在抽象类指针指向子类
5.下面程序段的输出结果是
出错

char *p1 =123, *p2 = ”ABC”, str[50] = “xyz”;
strcpy(str + 2, strcat(p1, p2));
printf(%s\n”, str);

解:p1和p2都指向常量字符串,在常量区,所以不能对其进行操作
6.char是1字节,int是4字节,若按4字节对齐,那么sizeof(rec)等于 20

struct
{
	char    type;
	int     num;
	char    name[10];
} rec;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值