嗯,关于string类的问题
c++吧
全部回复
仅看楼主
level 1
Mr灬sB 楼主
这是刚刚接触c++的时候遗留下来的问题,现在才发现。
c++里有一个很方便的东西,就是string,相信大神们也都自己写过string类的实现,我也写了一些。
也就写过:构造函数,拷贝构造函数,析构函数,重载+,=,+=,<<,>>这几个。
当时觉得似乎把我认识到的基本的函数都写的差不多了(其实现在也不知道string到底有多少接口)。
但是现在发现,一个很简单的实现我完全不会。string ss="hello";创建一个初始化为"hello"的string类对象ss,很基本,很基本,很基本。但是似乎我上面提到的我写的函数都不能实现这个功能,而且我也没想出来怎么写[泪]。百度steing的源代码也找不到,别人写的string好像也没有提及这个功能(明明很基本很重要的说[狂汗])
求大神解答怎么实现string ss="hello";这个接口[乖]
2016年05月12日 05点05分 1
level 15
以const char*为参数的构造函数
2016年05月12日 05点05分 2
level 8
就是一个构造函数,类似string(const char*)
2016年05月12日 05点05分 3
level 1
Mr灬sB 楼主
写了如上所说的构造函数:
但是还是error:
错误提示:
|66|error: no matching function for call to 'String::String(String)'|
@trhxqingsy @8826055
2016年05月12日 05点05分 5
你这是拷贝初始化,需要拷贝构造函数。
2016年05月12日 05点05分
回复
8826055
:拷贝构造函数形参不是String &吗?我也写的有呢。不行呀
2016年05月12日 05点05分
@Mr灬sB const String &
2016年05月12日 06点05分
@Mr灬sB 不过这里拷贝的是右值,用移动构造函数String(String&&)应该也行。
2016年05月12日 06点05分
level 1
很好,看来楼主已经引悟了贴吧精髓——那就是一定要带
镇楼
图才有人气[滑稽]
2016年05月12日 10点05分 6
level 9
....string好像有13个构造函数。
2016年05月12日 12点05分 7
1