C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Ideone和Codepad真的不支持C 03吗?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的问题与 Prasoonquestion有关非POD类型和值初始化有关.

我在Ideone和Codepad等在线编译器上尝试了以下代码,但可执行文件在这两个站点上都给出了运行时错误.

#include <iostream>
#include <Cassert>

struct Struct {
    std::string String;
    int Int;
    bool k;
};

struct instruct:Struct
{
   instruct():Struct(){}
};

int main()
{
   instruct i;
   assert ( i.Int == 0);
   std::cout << "Hello";
}@H_403_5@ 
 

Ideone输出here
键盘输出here

这是否意味着它们都不支持C 03值初始化功能

解决方法

是.

在4.4版之前,GCC并不完全支持值初始化(the Boost GCC compatibility header解释了这一点,并且链接到相关的GCC缺陷报告;参见第77行).

如果您的代码需要可移植,那么您应该非常小心地依赖于值初始化;直到最近,GCC才完全支持它,即使在最新版本的Visual C 2010中,Visual C也不完全支持它.

大佬总结

以上是大佬教程为你收集整理的Ideone和Codepad真的不支持C 03吗?全部内容,希望文章能够帮你解决Ideone和Codepad真的不支持C 03吗?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。