G++编译器中的一个优化,还是不够标准?

VCRWX VCRWX 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#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++是对代码进行了优化,不知道各位有何高见?
...全文

相关推荐

用来编译c++的g++编译器

解决不能上网时,c++编译器没法安装的问题。用了这个之后,只要一条命令就能快速安装g++。

Ftworld21

Ubuntu系统中安装g++编译器的详细指南

本文还有配套的精品资源,点击获取 简介:本文介绍了在Ubuntu操作系统中安装g++编译器的步骤,包括如何更新系统包列表、安装build-essential包以及手动安装特定版本的g++。g++是GNU Compiler Collection的一部分,用于编译C++源代码。它支持包括STL在内的C++标准库功能,是C++开发者的基本工具。文章还提供了通过apt包管理器和dp...

王超逸q

Gcc和G++编译器的完美绍

较为全面的介绍g++和gCC,对linux下的c++的使用大有裨益。

zhuhongaaa

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(调试信息)等。通过示例展示了如何生成可执行文件、启用警告和调试功能。最后,建议开发者查阅官方文档以了解更多高级功能。

ik6789012
评论 31
收藏 已收藏
分享
返回顶部
VCRWX
C++ 语言 65,214 成员 250,514 内容