// 测试点:STL和操作符重载
class Test
{
public:
Test(int i) {} ; // 根据mian函数的实现,在此处添加相应的代码
}
void mian()
{
std:vector vect;
vect.push_back(10);
}
// 测试点:对于C++内存布局的了解
// 全局/静态存储区、堆栈、常量存储区
// 函数声明1:
const char* Fun()
{
char p[] = "Hello World!";
return p;
}
// 函数声明2:
const char* Fun()
{
char* p = "Hello World!";
return p;
}
void mian()
{
printf("%s", Fun()); // 调用函数声明1和声明2的Fun函数,打印字符串的异同?
}
// 测试点:对于对象内存布局,和调用类成员函数的理解
// 类声明1:
class Test
{
virtual void Fun()
{
printf("Hello World!"); // 肯定会崩溃,因为p空指针没有初始化虚函数表
}
};
// 类声明2:
class Test
{
void Fun()
{
printf("Hello World!"); // 成员函数为thiscall调用约定,如果没有调用成员变量,就不会产生崩溃
}
};
void mian()
{
Test* p = 0;
p->Fun(); // 声明1和声明2其中哪个会使得程序崩溃?
}