string& string::operator =(const string &rhs)
{
if ( this &rhs)
return *this ;
delete []m_data; //删除原来的数据,新开一块内存
m_data = new char[strlen(rhs.m_data) + 1];
strcpy(m_data,rhs.m_data);
return *this ;
}
string::~string()
{
delete []m_data ;
}
③网上流传的 c++笔试题汇总
1.求下面函数的返回值(微软)
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
}
return countx;
}
假定 x = 9999
。 答案:8
思路:将 x 转化为 2 进制,看含有的 1 的个数。
2.
“
”
“
”
什么是 引用 ?申明和使用 引用 要注意哪些问题?
“
”
答:引用就是某个目标变量的 别名 (alias),对应用的操作与对变量直接操作效果完全相同。申明一个
引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名
称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只
表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统
也不给引用分配存储单元。不能建立数组的引用。
3. “
”
将 引用 作为函数参数有哪些特点?