- 主题:c++真是快被标准委员会玩成花了啊
如果不是地址直接给容器,看起来第一种很多情况下也不会快啊,该拷贝还得拷贝。
【 在 z16166 的大作中提到: 】
: 第二种是裸指针,全手动管理内存,也容易搞出异常时不安全的代码,应该一般是不推荐的。
: 第一种是不会存临时变量地址到表里的,不然那个写法就是错误的,不能用。
:
--
FROM 223.104.38.*
那是move(可以认为是最浅的拷贝),不是copy
【 在 toutouqi 的大作中提到: 】
: 如果不是地址直接给容器,看起来第一种很多情况下也不会快啊,该拷贝还得拷贝。
: :
--
FROM 125.35.123.*
很同情你,觉得是坨屎,还不得不吃下去。有句话说得好: 你不需要了解c++的所有细节,也能写出优秀的c++代码,除非你想成为语言律师。没必要觉得凡自己用不上就多余,也没必要因为自己理解不了就是语言问题,这不是多新的特性,谷歌搜一大把,讲得清清楚楚。有发牢骚功夫估计已经快看完了。
【 在 iwantfly 的大作中提到: 】
: 就他妈一move语义,别的语言里多面简单,直接一个引用类型搞定
: 这c++, 一会左值一会右值, 一会拷贝构造,一会移动构造
: 一会 std::move一会 std::forward
: 真是够了啊,还没 qt 的对象实现优雅直接
: 多么恶心的语言,恶心的特征
: 做了多少
: ..................
发自「今日水木 on iOS」
--
FROM 183.195.13.*
Move和forward不是一个层面上的东西。
Move对程序运行效率是相当重要的。
【 在 iwantfly 的大作中提到: 】
: 就他妈一move语义,别的语言里多面简单,直接一个引用类型搞定
: 这c++, 一会左值一会右值, 一会拷贝构造,一会移动构造
: 一会 std::move一会 std::forward
: ...................
--来自微微水木3.5.12
--
FROM 24.22.244.*
“你不需要了解c++的所有细节,也能写出优秀的c++代码”,我觉得这句话是不用的特性不用了解也可以写出好代码。但是要用c++某个特性,不了解细节就很容易写出bug。
【 在 RichyMong 的大作中提到: 】
: 很同情你,觉得是坨屎,还不得不吃下去。有句话说得好: 你不需要了解c++的所有细节,也能写出优秀的c++代码,除非你想成为语言律师。没必要觉得凡自己用不上就多余,也没必要因为自己理解不了就是语言问题,这不是多新的特性,谷歌搜一大把,讲得清清楚楚。有发牢骚功夫估计已经快看完了。
: 发自「今日水木 on iOS」
--
FROM 123.123.43.*
这些新特性都不用管除非你想去自己实现标准容器
当前的c++只要编译器不是sb
都能自动帮你尽可能把copy编译成move
写代码的时候各种容器无脑塞值就行了
不推荐显式的call move或接受&&
也就rvo得略注意一下
【 在 iwantfly (雷雷) 的大作中提到: 】
: 就他妈一move语义,别的语言里多面简单,直接一个引用类型搞定
: 这c++, 一会左值一会右值, 一会拷贝构造,一会移动构造
: 一会 std::move一会 std::forward
: 真是够了啊,还没 qt 的对象实现优雅直接
--
FROM 111.193.233.*
move本身是cast,就是告诉编译器temp的资源我不要了,给别人了。emplace就直接把这个资源拿过来了,不拷贝。
【 在 toutouqi 的大作中提到: 】
: 如果不是地址直接给容器,看起来第一种很多情况下也不会快啊,该拷贝还得拷贝。
: :
--
FROM 163.114.132.*
照着优秀的代码copy/paste再修改就行了。
有些细节不懂也罢。
【 在 toutouqi 的大作中提到: 】
: “你不需要了解c++的所有细节,也能写出优秀的c++代码”,我觉得这句话是不用的特性不用了解也可以写出好代码。但是要用c++某个特性,不了解细节就很容易写出bug。
--
FROM 161.97.196.*
不全是。主要是理解赋值的语义,然后慢慢对着程序琢磨。总之我感觉是无用功就是啦。
【 在 littleSram 的大作中提到: 】
: 是不是得理解内存模型才能理解这几个概念
--
FROM 98.42.117.*
那是给C++程序员留口饭吃唉
【 在 god4 的大作中提到: 】
: 确实吃饱了撑的,90%特性都没用,语言的发展趋势应该是越来越简洁,简化编程,而不是越来越复杂难用
--
FROM 221.226.67.*