C++ TIPS

来源:互联网 发布:为什么淘宝点不开客服 编辑:程序博客网 时间:2024/05/21 06:02

TIPS 1 : 下面三条语句分别输出什么?


str1....str4分别是4个不同的数组,它们在内存中的地址也不相同。str5和str6虽然是两个指针,但是它们的值是相同的,都指向常量区中的"abc"。

TIPS 2 : 下面sizeof的用法是否有错误?


因为数组不能复制,所以数组在做形参时,形参类型会被自动转化成相应类型的指针。编译器也会忽略任何为数组指定的长度。如果形参声明为数组的引用,那么编译器不会将实参转化为指针,而是直接传递数组本身,而且,编译器将检查实参的大小和形参的大小是否相配。

TIPS 3 : 下面的代码有什么问题?


很简单,不说了。

TIPS 4 : 下面的代码有什么问题?


TIPS 5 : 以下的代码能编译通过吗?为什么?



在C++中,const类型的变量会被保存在符号表中,被当做为常量,自然可以用作数组的大小。

TIPS 6 : 以下代码输出的是0吗?为什么?


obj只是通过默认构造函数构造的。而带参构造函数构造的是一个临时对象。

TIPS 7 : 空类产生哪些默认函数?
TIPS 8 : 以下语句分别输出什么?


还不是很明白。

TIPS 9 : 以下反向遍历数组有什么错误?
因为size_type是unsigned的,所以当i等于0时,再--i就变成了一个很大的数。不会跳出循环。数组会越界。

TIPS 10 : 以下代码有什么问题?
我觉得是:如果ASCII码值大于16的平方,在除以0x10的商就会大于16,值就可能大于‘F’。

TIPS 11 : 以下代码有什么问题?


在删除第一个2之后,itor会指向下一个元素的位置,也就是第二个2,然后itor再++。于是第二个2就没有被删掉。