免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: wzlxx_
打印 上一主题 下一主题

gcc是否为我们做的太多 [复制链接]

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
21 [报告]
发表于 2010-06-08 11:53 |只看该作者

论坛徽章:
0
22 [报告]
发表于 2010-06-08 12:07 |只看该作者
这个gcc vc 都没关系吧

本来就是默认的复制构造函数


应该是glibc 好 没让你马上挂。  我这里有个bu ...
benjiam 发表于 2010-06-08 11:29

说的对

论坛徽章:
0
23 [报告]
发表于 2010-06-09 13:20 |只看该作者
本帖最后由 alienauron 于 2010-06-09 13:25 编辑
beyond_touch 发表于 2010-06-08 10:24



    这乃正解,和GCC,VC,LZ都有关。
C++语言规范里明确说明了:如果没有显式定义copy constructor,语言要求有默认的copy constructor生成,这个工作应该由编译器完成。可以参考C++的教程或者C++语言规范ISO/IEC JTC1 SC22 WG21 N3092 12.8 第8款。
GCC的C++实现基本cover了C++语言规范的,做了自己应该做的事情,并没有多做什么
VC 6 toooooold了,对C++规范的支持很不好,个人觉得不适合用来编C++。
另外,LZ还是忽略了编译器会自动完成的一些东西,在使用C++的时候,一定要小心。个人感觉在实现C++类的时候,得养成把构造函数,拷贝构造函数之类会被编译器自动生成的东西首先按照需求完成,如果不能拷贝的,一定要显式止之类的,然后再实现其他的部分。

论坛徽章:
0
24 [报告]
发表于 2010-06-09 13:23 |只看该作者
很多情况是VC的代码在gcc下不能通过
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP