e**c 发帖数: 14 | 1 龙猫同学惨遭迫害。
发信人: sunseraphic (この世界がいつかは幻に変わると), 信区: CPlusPlus
标 题: Re: 谁能总结一下c++里没用的功能
发信站: 水木社区 (Mon Jan 19 22:54:08 2015), 站内
xiaoju网友从本月十六日开始活跃于本板,期间散布的各种观点充满了常识性错误,本
着负责任的态度,为避免更多网友受到误导,在多次提醒无效的情况下,对ID xiaoju采
取了封禁操作。 |
x****u 发帖数: 44466 | 2 我倒,这名出大了。。。
xiaoju采
【在 e**c 的大作中提到】 : 龙猫同学惨遭迫害。 : 发信人: sunseraphic (この世界がいつかは幻に変わると), 信区: CPlusPlus : 标 题: Re: 谁能总结一下c++里没用的功能 : 发信站: 水木社区 (Mon Jan 19 22:54:08 2015), 站内 : xiaoju网友从本月十六日开始活跃于本板,期间散布的各种观点充满了常识性错误,本 : 着负责任的态度,为避免更多网友受到误导,在多次提醒无效的情况下,对ID xiaoju采 : 取了封禁操作。
|
j********x 发帖数: 2330 | 3 本版这种水平在水木的c++版基本是不能发帖的。。。
分分钟被封杀至渣
还不怕错杀的。。。
xiaoju采
【在 e**c 的大作中提到】 : 龙猫同学惨遭迫害。 : 发信人: sunseraphic (この世界がいつかは幻に変わると), 信区: CPlusPlus : 标 题: Re: 谁能总结一下c++里没用的功能 : 发信站: 水木社区 (Mon Jan 19 22:54:08 2015), 站内 : xiaoju网友从本月十六日开始活跃于本板,期间散布的各种观点充满了常识性错误,本 : 着负责任的态度,为避免更多网友受到误导,在多次提醒无效的情况下,对ID xiaoju采 : 取了封禁操作。
|
k**********g 发帖数: 989 | |
s*******g 发帖数: 243 | 5 放狗搜了下,真不冤
“static_cast不会让你做静态无法保证安全性的转换,比如基类指针转派生类”
显然可以基类指针转子类。
【在 j********x 的大作中提到】 : 本版这种水平在水木的c++版基本是不能发帖的。。。 : 分分钟被封杀至渣 : 还不怕错杀的。。。 : : xiaoju采
|
t*****n 发帖数: 4908 | 6 一C++黑,而且离谱的黑,能不被壁了?
【在 j********x 的大作中提到】 : 本版这种水平在水木的c++版基本是不能发帖的。。。 : 分分钟被封杀至渣 : 还不怕错杀的。。。 : : xiaoju采
|
b*******s 发帖数: 5216 | |
b*******s 发帖数: 5216 | 8 BACK TO MILITARY!
【在 x****u 的大作中提到】 : 我倒,这名出大了。。。 : : xiaoju采
|
x****u 发帖数: 44466 | 9 贵司有福了
【在 s*******g 的大作中提到】 : 放狗搜了下,真不冤 : “static_cast不会让你做静态无法保证安全性的转换,比如基类指针转派生类” : 显然可以基类指针转子类。
|
x****u 发帖数: 44466 | 10 啥阅读,我向来支持c++,因为可以制造混乱,有钱途。
【在 t*****n 的大作中提到】 : 一C++黑,而且离谱的黑,能不被壁了?
|
|
|
x****u 发帖数: 44466 | 11 国内小孩火气都很旺。
上次我在器乐版问一个自称国际级别的女id为啥要赴美读生物博后,首次受到死亡威胁
。。。
【在 j********x 的大作中提到】 : 本版这种水平在水木的c++版基本是不能发帖的。。。 : 分分钟被封杀至渣 : 还不怕错杀的。。。 : : xiaoju采
|
x****u 发帖数: 44466 | 12 本想去cpp版挖坑,结果没注意军版名id当了版主。最近水木军版刚经过一场大战,几
天没去估计被划入敌阵营了。
【在 b*******s 的大作中提到】 : BACK TO MILITARY!
|
W***o 发帖数: 6519 | 13 如果有本班这样的对骂,估计一帮人早进去了
xiaoju采
【在 e**c 的大作中提到】 : 龙猫同学惨遭迫害。 : 发信人: sunseraphic (この世界がいつかは幻に変わると), 信区: CPlusPlus : 标 题: Re: 谁能总结一下c++里没用的功能 : 发信站: 水木社区 (Mon Jan 19 22:54:08 2015), 站内 : xiaoju网友从本月十六日开始活跃于本板,期间散布的各种观点充满了常识性错误,本 : 着负责任的态度,为避免更多网友受到误导,在多次提醒无效的情况下,对ID xiaoju采 : 取了封禁操作。
|
v*****n 发帖数: 30 | |
a*****g 发帖数: 19398 | 15 哦。
xiaoju采
【在 e**c 的大作中提到】 : 龙猫同学惨遭迫害。 : 发信人: sunseraphic (この世界がいつかは幻に変わると), 信区: CPlusPlus : 标 题: Re: 谁能总结一下c++里没用的功能 : 发信站: 水木社区 (Mon Jan 19 22:54:08 2015), 站内 : xiaoju网友从本月十六日开始活跃于本板,期间散布的各种观点充满了常识性错误,本 : 着负责任的态度,为避免更多网友受到误导,在多次提醒无效的情况下,对ID xiaoju采 : 取了封禁操作。
|
s*******g 发帖数: 243 | 16 死鸭子嘴硬。“static_cast不会让你做静态无法保证安全性的转换,比如基类指针转
派生类”,你确定static_cast不能基类指针转派生类,下面的代码会出错?
void Foo(Base* base)
{
Derived* d = static_cast(base);
//do something with d
}
Base* ptr = new Derived();
Foo(ptr);
错就错了,谁没个错的时候,还死要面子不承认。
【在 x****u 的大作中提到】 : 贵司有福了
|
x****u 发帖数: 44466 | 17 土鳖,这个转换有消除不掉的警告,必须dynamic_cast才是正路。现在农民上过蓝翔的
都知道基类不能转派生类,不然找不到活干。
你光跟谭浩强学用C写漏洞代码,就不肯看两本正经的C++书?
【在 s*******g 的大作中提到】 : 死鸭子嘴硬。“static_cast不会让你做静态无法保证安全性的转换,比如基类指针转 : 派生类”,你确定static_cast不能基类指针转派生类,下面的代码会出错? : void Foo(Base* base) : { : Derived* d = static_cast(base); : //do something with d : } : Base* ptr = new Derived(); : Foo(ptr); : 错就错了,谁没个错的时候,还死要面子不承认。
|
v*****n 发帖数: 30 | 18 我印象里有些生产环境禁掉或不支持了dynamic type info的时候就只能用static cast了
[在 xiaoju (可爱的龙猫) 的大作中提到:]
:土鳖,这个转换有消除不掉的警告,必须dynamic_cast才是正路。现在农民上过蓝翔
的都知道基类不能转派生类,不然找不到活干。
:
:........... |
x****u 发帖数: 44466 | 19 禁了rtti也不该用static_cast做downcast或者sidecast,可以试试类似COM的做法。
dynamic_cast的最大意义是容许文雅的转换失败。
cast了
【在 v*****n 的大作中提到】 : 我印象里有些生产环境禁掉或不支持了dynamic type info的时候就只能用static cast了 : [在 xiaoju (可爱的龙猫) 的大作中提到:] : :土鳖,这个转换有消除不掉的警告,必须dynamic_cast才是正路。现在农民上过蓝翔 : 的都知道基类不能转派生类,不然找不到活干。 : : : :...........
|
s*******g 发帖数: 243 | 20 编,继续编。
一开始引用你的原文“static_cast不会让你做静态无法保证安全性的转换,比如基类
指针转派生类”。我想看的人都是认为你的意思是编译不过吧。我说code可以编译运行
。你又来“有消除不掉的警告”。我用gcc 4.8.3,-Wall没有任何警告,麻烦你告诉我
你用的什么compiler,平行宇宙的gcc?
还说“必须dynamic_cast才是正路”。你在那本书上看到是必须的?如果没有没有
virtual function,不能用dynamic_cast的时候该用什么?
“蓝翔都知道基类不能转派生类”?举个简单的例子,CRTP模式
http://stackoverflow.com/questions/262254/crtp-to-avoid-dynamic
template
struct base {
void foo() {
static_cast(this)->foo();
};
};
struct my_type : base {
void foo(); // required to compile.
};
struct your_type : base {
void foo(); // required to compile.
};
这就不是用的基类指针转派生类?会用CRTP做static dispatch的就找不到活?都招你
这种装b的,胡编乱造的?难怪那些硅谷公司面试都要白板写code,一写code你这种跟
阿三一样只会讲空话的就装不下去了,水平完全暴露。
【在 x****u 的大作中提到】 : 土鳖,这个转换有消除不掉的警告,必须dynamic_cast才是正路。现在农民上过蓝翔的 : 都知道基类不能转派生类,不然找不到活干。 : 你光跟谭浩强学用C写漏洞代码,就不肯看两本正经的C++书?
|
|
|
x****u 发帖数: 44466 | 21 你是不是觉得只要烂代码能编译,剩下的事都推给老妈擦屁股就行了。。。打不出危险
行为的警告要自己研究选项或者换个靠谱点的工具去。
Google搜到的东西要看懂了再提以免丢人,CRTP和对象互转一点关系也没有,是利用模
板的静多态。最有名的应用就是ATL/WTL了,代码基类都标注__declspec(novtable)打
你脸。
CRTP模式可是Windows编程基础的基础,我们蓝翔VC速成班不会的都免费退款或转学挖
掘机了。。。
【在 s*******g 的大作中提到】 : 编,继续编。 : 一开始引用你的原文“static_cast不会让你做静态无法保证安全性的转换,比如基类 : 指针转派生类”。我想看的人都是认为你的意思是编译不过吧。我说code可以编译运行 : 。你又来“有消除不掉的警告”。我用gcc 4.8.3,-Wall没有任何警告,麻烦你告诉我 : 你用的什么compiler,平行宇宙的gcc? : 还说“必须dynamic_cast才是正路”。你在那本书上看到是必须的?如果没有没有 : virtual function,不能用dynamic_cast的时候该用什么? : “蓝翔都知道基类不能转派生类”?举个简单的例子,CRTP模式 : http://stackoverflow.com/questions/262254/crtp-to-avoid-dynamic : template
|
s*******g 发帖数: 243 | 22 又转移话题。
别扯什么软七八糟的,我之前举例的code
static_cast(this)->foo();
是不是用static_case把基类指针转派生类了?
“static_cast不会让你做静态无法保证安全性的转换,比如基类指针转派生类”是不
是你说的?
脸都打肿了还硬撑,难怪人家封你。
【在 x****u 的大作中提到】 : 你是不是觉得只要烂代码能编译,剩下的事都推给老妈擦屁股就行了。。。打不出危险 : 行为的警告要自己研究选项或者换个靠谱点的工具去。 : Google搜到的东西要看懂了再提以免丢人,CRTP和对象互转一点关系也没有,是利用模 : 板的静多态。最有名的应用就是ATL/WTL了,代码基类都标注__declspec(novtable)打 : 你脸。 : CRTP模式可是Windows编程基础的基础,我们蓝翔VC速成班不会的都免费退款或转学挖 : 掘机了。。。
|
x****u 发帖数: 44466 | 23 告诉你Google到的东西要看懂了再扯淡。
CRTP的cast是仅限于派生类的,ATL/WTL直接将基类实例化都禁掉了。这当然是安全操
作。
赶紧去山东找蓝翔,提我名字打折。。。
【在 s*******g 的大作中提到】 : 又转移话题。 : 别扯什么软七八糟的,我之前举例的code : static_cast(this)->foo(); : 是不是用static_case把基类指针转派生类了? : “static_cast不会让你做静态无法保证安全性的转换,比如基类指针转派生类”是不 : 是你说的? : 脸都打肿了还硬撑,难怪人家封你。
|
p*u 发帖数: 2454 | 24 lol
xiaoju采
【在 e**c 的大作中提到】 : 龙猫同学惨遭迫害。 : 发信人: sunseraphic (この世界がいつかは幻に変わると), 信区: CPlusPlus : 标 题: Re: 谁能总结一下c++里没用的功能 : 发信站: 水木社区 (Mon Jan 19 22:54:08 2015), 站内 : xiaoju网友从本月十六日开始活跃于本板,期间散布的各种观点充满了常识性错误,本 : 着负责任的态度,为避免更多网友受到误导,在多次提醒无效的情况下,对ID xiaoju采 : 取了封禁操作。
|
s*******g 发帖数: 243 | 25 又瞎扯,ATL/WTL我没用过,我不用windows c++。CRTP又不是只能在windows里用。
什么叫仅限派生类?
static_cast(this)->foo(); 在这个code里this的type难道不是Base* ?
static_cast难道不是把this转换成Derived* ?你再狡辩一千句一万句,你一开始说的
“static_cast不能基类指针转派生类”都是错的
【在 x****u 的大作中提到】 : 告诉你Google到的东西要看懂了再扯淡。 : CRTP的cast是仅限于派生类的,ATL/WTL直接将基类实例化都禁掉了。这当然是安全操 : 作。 : 赶紧去山东找蓝翔,提我名字打折。。。
|
x****u 发帖数: 44466 | 26 被打脸后又来了“一开始说”,鸡冻的中文都看不懂了。
只要能编译通过,C++里面没有任何操作是绝对错误的,你和那个2b版主一样连“危险
操作”都理解不了。
我老自己就写过不少类似的危险cast,危险是世界的一部分,过马路或者滚床单都是。
问题是你得知道看红绿灯或者用安全措施,这个是学校老师有责任教你的不被撞死或者
得艾滋的常识。
?
全操
【在 s*******g 的大作中提到】 : 又瞎扯,ATL/WTL我没用过,我不用windows c++。CRTP又不是只能在windows里用。 : 什么叫仅限派生类? : static_cast(this)->foo(); 在这个code里this的type难道不是Base* ? : static_cast难道不是把this转换成Derived* ?你再狡辩一千句一万句,你一开始说的 : “static_cast不能基类指针转派生类”都是错的
|
s*******g 发帖数: 243 | 27 呵呵,脸皮真厚,真是会洗啊。就你的这句话“static_cast不会让你做静态无法保证
安全性的转换,比如基类指针转派生类”,没有人会理解成你的意思是“虽然编译器可
以,但是有危险,不应该用static cast做基类指针到派生类的转换”。
【在 x****u 的大作中提到】 : 被打脸后又来了“一开始说”,鸡冻的中文都看不懂了。 : 只要能编译通过,C++里面没有任何操作是绝对错误的,你和那个2b版主一样连“危险 : 操作”都理解不了。 : 我老自己就写过不少类似的危险cast,危险是世界的一部分,过马路或者滚床单都是。 : 问题是你得知道看红绿灯或者用安全措施,这个是学校老师有责任教你的不被撞死或者 : 得艾滋的常识。 : : ? : 全操
|
x****u 发帖数: 44466 | 28 你这阅读真连那2b版主都不如,人家也看懂我没否认static_cast可以做downcasting,
只是一口咬定downcasting是安全操作。
C/C++所有导致编译不过去的东西都是安全的,危险指的是可能编译通过可能运行但行
为不确定。如果你找ONS失败,不管准备了套没有都肯定不会得艾滋,明白了?
【在 s*******g 的大作中提到】 : 呵呵,脸皮真厚,真是会洗啊。就你的这句话“static_cast不会让你做静态无法保证 : 安全性的转换,比如基类指针转派生类”,没有人会理解成你的意思是“虽然编译器可 : 以,但是有危险,不应该用static cast做基类指针到派生类的转换”。
|
s*******g 发帖数: 243 | 29 见过阅读不行的,可是你这样连自己说的话都阅读不了的真奇葩。
你自己的原话:“static_cast不会让你做静态无法保证安全性的转换,比如基类指针
转派生类”。你都举例说“基类指针转派生类”是“static_cast不会让你做”了。你
这个“不会让你做”是什么意思?正常人只能理解为“static_cast(编译时)不会让
你做基类指针转派生类”或者“static_cast(运行时)不会让你做基类指针转派生类
”。实际情况是编译时完全可以,运行时不一定不可以。不管怎么理解,你说的“
static_cast不会让你做基类指针转派生类”这个结论都是错的。
你还是别洗了,越洗越丢人。如果你得了艾滋,不管你是嫖妓得的,还是被爆菊得的,
怎么洗你的jj和菊花都是洗不掉的。端正态度好好治疗才是出路。
【在 x****u 的大作中提到】 : 你这阅读真连那2b版主都不如,人家也看懂我没否认static_cast可以做downcasting, : 只是一口咬定downcasting是安全操作。 : C/C++所有导致编译不过去的东西都是安全的,危险指的是可能编译通过可能运行但行 : 为不确定。如果你找ONS失败,不管准备了套没有都肯定不会得艾滋,明白了?
|
x****u 发帖数: 44466 | 30 你们跟谭浩强老爷爷学C++的时候没听说过不让做和编译不过是两回事么?
你还是赶紧水木去学C++,不要来这里打滚丢人了。
downcasting,
但行
【在 s*******g 的大作中提到】 : 见过阅读不行的,可是你这样连自己说的话都阅读不了的真奇葩。 : 你自己的原话:“static_cast不会让你做静态无法保证安全性的转换,比如基类指针 : 转派生类”。你都举例说“基类指针转派生类”是“static_cast不会让你做”了。你 : 这个“不会让你做”是什么意思?正常人只能理解为“static_cast(编译时)不会让 : 你做基类指针转派生类”或者“static_cast(运行时)不会让你做基类指针转派生类 : ”。实际情况是编译时完全可以,运行时不一定不可以。不管怎么理解,你说的“ : static_cast不会让你做基类指针转派生类”这个结论都是错的。 : 你还是别洗了,越洗越丢人。如果你得了艾滋,不管你是嫖妓得的,还是被爆菊得的, : 怎么洗你的jj和菊花都是洗不掉的。端正态度好好治疗才是出路。
|
|
|
s*******g 发帖数: 243 | 31 你还是打滚到开裆裤时候把中文先学好再来发帖吧。
你原话说的明明是“static_cast不会让你做基类指针转派生类”,怎么现在你说成了
不应该用static_cast做基类指针转派生类?A不会让你做B和不应该用A做B是一回事?
要是有人问保时捷能不能开130迈,你说保时捷不会让你开130迈,被别人质疑后你说我
的意思其实是不应该把保时捷开到130迈,太危险。你的中文就这水平?你还坚持你的
原话“static_cast不会让你做基类指针转派生类”是对的?
【在 x****u 的大作中提到】 : 你们跟谭浩强老爷爷学C++的时候没听说过不让做和编译不过是两回事么? : 你还是赶紧水木去学C++,不要来这里打滚丢人了。 : : downcasting, : 但行
|
x****u 发帖数: 44466 | 32 麻痹troll除了打滚一点出息也没有。
回帖是针对前面某人说的cast没用来的,说static_cast不能搞危险的cast,dynamic_
cast可以。
【在 s*******g 的大作中提到】 : 你还是打滚到开裆裤时候把中文先学好再来发帖吧。 : 你原话说的明明是“static_cast不会让你做基类指针转派生类”,怎么现在你说成了 : 不应该用static_cast做基类指针转派生类?A不会让你做B和不应该用A做B是一回事? : 要是有人问保时捷能不能开130迈,你说保时捷不会让你开130迈,被别人质疑后你说我 : 的意思其实是不应该把保时捷开到130迈,太危险。你的中文就这水平?你还坚持你的 : 原话“static_cast不会让你做基类指针转派生类”是对的?
|
s*******g 发帖数: 243 | 33 你用的词是“不会”,不管什么语境上下文,中文里面“不会”绝对不是“不应该”的
意思。可能你的意思是“一般你不应该用A做B”,说的话却是“A不会让你做B”。写程
序的连这点基本的严谨都做不到?
【在 x****u 的大作中提到】 : 麻痹troll除了打滚一点出息也没有。 : 回帖是针对前面某人说的cast没用来的,说static_cast不能搞危险的cast,dynamic_ : cast可以。
|