G++编译器中的一个优化,还是不够标准?
#include <string>
#include <iostream>
using namespace std;
class A
{
public:
A()
{
cout<<"A()"<<endl;
}
A(const A& a)
{
cout<<"A(const A& a)"<<endl;
}
A& operator=(const& a)
{
cout<<"operator=(const& a)"<<endl;
return *this;
}
~A()
{
cout<<"~()"<<endl;
}
};
A getA()
{
A a;
return a;
}
int main()
{
A a = getA();
return 0;
}
这段代码理论是运行结果是
A()
A(const A& a)
~()
~()
可是今天用g++编译器一测试,运行结果为
A()
~()
其中的拷贝构造函数并没调用
然后在vc上运行以下
结果和理论上相同
一直以为g++标准是非常高的,不过也有些地方确实引如了不标准的东西
不过总体看来,g++是对代码进行了优化,不知道各位有何高见?
#include <iostream>
using namespace std;
class A
{
public:
A()
{
cout<<"A()"<<endl;
}
A(const A& a)
{
cout<<"A(const A& a)"<<endl;
}
A& operator=(const& a)
{
cout<<"operator=(const& a)"<<endl;
return *this;
}
~A()
{
cout<<"~()"<<endl;
}
};
A getA()
{
A a;
return a;
}
int main()
{
A a = getA();
return 0;
}
这段代码理论是运行结果是
A()
A(const A& a)
~()
~()
可是今天用g++编译器一测试,运行结果为
A()
~()
其中的拷贝构造函数并没调用
然后在vc上运行以下
结果和理论上相同
一直以为g++标准是非常高的,不过也有些地方确实引如了不标准的东西
不过总体看来,g++是对代码进行了优化,不知道各位有何高见?
...全文
相关推荐
用来编译c++的g++编译器
解决不能上网时,c++编译器没法安装的问题。用了这个之后,只要一条命令就能快速安装g++。
Ubuntu系统中安装g++编译器的详细指南
本文还有配套的精品资源,点击获取 简介:本文介绍了在Ubuntu操作系统中安装g++编译器的步骤,包括如何更新系统包列表、安装build-essential包以及手动安装特定版本的g++。g++是GNU Compiler Collection的一部分,用于编译C++源代码。它支持包括STL在内的C++标准库功能,是C++开发者的基本工具。文章还提供了通过apt包管理器和dp...
Gcc和G++编译器的完美绍
较为全面的介绍g++和gCC,对linux下的c++的使用大有裨益。
gcc and g++编译器和gdb调试器
gcc and g++编译器和gdb调试器 更多资源请访问http://www.59186618.com
g++编译器使用指南[项目代码]
本文详细介绍了g++编译器的基本用法和常见参数,帮助开发者高效编译和构建C++程序。g++是GNU编译器集合中的C++编译器,支持多种编译选项和优化级别。文章涵盖了g++命令的基本语法,如编译单个或多个源文件、指定C++标准版本、添加头文件和库文件搜索路径等。此外,还解释了常用参数如-c(仅编译)、-std=c++XX(指定C++标准)、-I(包含目录)、-L(库目录)、-l(链接库)、-O(优化级别)、-g(调试信息)等。通过示例展示了如何生成可执行文件、启用警告和调试功能。最后,建议开发者查阅官方文档以了解更多高级功能。


