Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ gcc编译选项std=c++;1y和std=c++;14_C++_Gcc_C++14 - Fatal编程技术网

C++ gcc编译选项std=c++;1y和std=c++;14

C++ gcc编译选项std=c++;1y和std=c++;14,c++,gcc,c++14,C++,Gcc,C++14,我安装了gcc 4.9.2。我使用以下命令编译程序: /root/gcc-4.9.2/bin/g++ -std=c++1y testing.cpp 请注意,除了选项-std=c++1y,还有另一个选项-std=c++14。编译器会以同样的方式工作并为两个选项生成完全相同的可执行文件吗?C++14是最新的ISO标准,除非您需要某些gcc非标准功能,否则应该使用它 c++1y是一个在c++14标准完成之前用来指代该标准的名称,因此它很可能遵循标准草案,而不是实际标准本身。两者之间可能有一些细微的差

我安装了gcc 4.9.2。我使用以下命令编译程序:

/root/gcc-4.9.2/bin/g++ -std=c++1y testing.cpp

请注意,除了选项
-std=c++1y
,还有另一个选项
-std=c++14
。编译器会以同样的方式工作并为两个选项生成完全相同的可执行文件吗?

C++14
是最新的ISO标准,除非您需要某些gcc非标准功能,否则应该使用它

c++1y
是一个在c++14标准完成之前用来指代该标准的名称,因此它很可能遵循标准草案,而不是实际标准本身。两者之间可能有一些细微的差别,但是
c++14
是ISO标准


简而言之,在您提到的gcc 4.9.2中使用
c++14

c++14
c++1y
之间没有区别。但是对于早期的gcc版本,例如gcc 4.8.1,有


因为还不知道标准验收的年份。在C++ C++ 14 C++标准中,使用代码< > STD= C++ +1y< /Cl>选项是为了启用即将到来的C++标准的某些部分。

感谢LimeCor的解释,并感谢贾景晖提出的链接,即C++ 1Y和C++ 14是“2014个ISO C++标准加上修正”。
g++: error: unrecognized command line option '-std=c++14'