构造函数里加const

Posted zzsama

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构造函数里加const相关的知识,希望对你有一定的参考价值。

 1 #include <iostream>
 2 using namespace std;
 3 
 4 class MyString{
 5 private:
 6     char * p;
 7     int len;
 8 public:
 9     MyString(const char *s){
10         len = strlen(s);
11         p = new char[len+1];
12         strcpy(p,s);
13     }
14     /*
15     MyString(char *s){
16      len = strlen(s);
17         p = new char[len+1];
18         strcpy(p,s);
19     }
20      */
21 };
22 int main(){
23     MyString s1("aaa");
24     return 0;
25 }

为什么构造函数里必须要加const,猜测是因为"aaa"是一个常量,待解决

以上是关于构造函数里加const的主要内容,如果未能解决你的问题,请参考以下文章

复制“const”构造函数 - 链接器错误?

为啥 C++ 复制构造函数必须使用 const 对象?

在 Visual Studio 中创建构造函数的代码片段或快捷方式

在构造函数中反序列化 const 成员对象

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段