Redian新闻
>
一个关于assignment constructor和expection的问题
avatar
f*0
2
一个被历史淘汰了的诺基亚又嚷嚷着重出江湖,虽然我也是个有情怀的人,但是我真的不看好!
毕竟现在任何企业只要是有钱都能够做手机,系统也无独有偶,都是安卓,诺基亚的竞争力可以说太小了,诺基亚几乎很难在众多的对手中形成自己差异化的竞争优势。可如果不适用安卓系统,那诺基亚就是自找死路。
至于非智能机市场,目前已经被低价的智能机取代。前景无疑是凶多吉少,这都是诺基亚回归相关市场存在的难以逾越的客观挑战。
说到情怀,更是扯淡,要知道诺基亚在手机产业中品牌影响力的黄金时期是在功能手机时代。现在是以苹果为代表的智能手机时代哎,什么品牌影响力,早就缩水了好么?在我看来,对诺基亚的推崇已经严重阻碍了只能手机产业的创新发展。
被历史淘汰掉的诺基亚,回归没啥意义,基本很难有机会翻身了,最多也就像索尼和HTC一样半死不活了。现在苹果和三星、华为共分天下的局面不会轻易打破,除非再一次系统革命或者苹果三星华为机作大死……
avatar
mw
3
我当我把substr的返回值改成实际的变量而不是reference,程序就编译不了了。。。。
请问谁知道是怎么回事吗?
为什么at()里面的throw没法工作呢?
#include
#include
using namespace std;
class mstring{
public:
const char* c_str() const{
return _arr;
}
unsigned int c_len() const{
return _len;
}

void print(){
printf("%s\n", _arr);

}
public:
mstring(){
_len = 0;
_arr = 0;
}
mstring(unsigned int ilen){
_len = ilen;
_
avatar
t*t
4
change your copy constructor signature to
mstring(const mstring&)

。。

【在 mw 的大作中提到】
: 我当我把substr的返回值改成实际的变量而不是reference,程序就编译不了了。。。。
: 请问谁知道是怎么回事吗?
: 为什么at()里面的throw没法工作呢?
: #include
: #include
: using namespace std;
: class mstring{
: public:
: const char* c_str() const{
: return _arr;

avatar
mw
5
yah, that's it, thanks a lot!
can you also help to give a clue --- "why?"

【在 t****t 的大作中提到】
: change your copy constructor signature to
: mstring(const mstring&)
:
: 。。

avatar
h*z
6
The semantics of copying that we expect is that the original is not modified
by the copy action. Requiring copy constructor argument to be a const
reference would make this behavior consistent with what we expect.
avatar
k*f
7
A side topic from LZ's post, where the data members are named with leading
underscores. I've read elsewhere that this is not a good practice.
What do you guys think?
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。