编译器

首页 标签 编译器
# 编译器 #
关注
30803内容
|
5月前
|
未定义行为的幽灵——C++中不可触碰的禁区
未定义行为是C++中最令人畏惧的概念之一。标准中对它的定义令人不寒而栗:“本规范对行为没有任何要求”。
|
5月前
|
头文件之殇与模块化的救赎——C++编译模型的过去与未来
四十年以来,C++一直使用源自C语言的头文件模型。这个模型简单但粗糙:将声明与实现分离,通过预处理器将头文件的内容机械地插入到每个源文件中,然后分别编译,最后链接。
|
5月前
|
虚表与运行时类型识别——C++多态的底层真相
多态是面向对象编程的核心,而C++通过虚函数实现了运行时多态。但大多数C++开发者并不清楚虚函数背后的实现机制——虚表(vtable)和运行时类型识别(RTTI)。
|
5月前
|
平凡与标准布局——C++内存模型的隐秘角落
在C++的类型系统中,有一组看似不起眼却至关重要的概念:平凡类型、标准布局类型以及POD类型。
|
5月前
|
异常安全与Noexcept——编写永不失败的代码
在C++中,“不抛出异常”是一个比“正确”更严格的要求。一个函数可以是正确的(在任何有效输入下都能完成其任务),但仍然可能抛出异常。
|
5月前
|
C++包管理的前世今生——从手工构建到模块化时代
在所有主流编程语言中,C++可能是最后一个拥有统一包管理器的语言。
|
5月前
|
const的奥德赛——从简单常量到函数式C++的演进
在C++的众多关键字中,const可能是最简单但又最深刻的一个。它看起来只是一个修饰符,告诉编译器“这个变量不应该被修改”。
|
5月前
|
JDK 19安装教程 Windows版:详细步骤+环境变量配置+命令验证(含java/javac/java -version)
本文提供Oracle官方规范下的Windows版JDK 19一站式安装指南:含纯净安装包下载、无中文/空格路径建议、管理员运行、环境变量配置(JAVA_HOME+Path)及三步验证法,新手照做即成,全程避坑。
|
5月前
|
移动语义的五张面孔——从Rvalue引用到完美转发的完整进化史
C++11引入的移动语义被认为是该标准中最重要的特性之一,它的影响力甚至超过了lambda表达式和auto关键字。但在实践中,移动语义的复杂性和隐蔽细节远远超出了大多数开发者的预期
|
5月前
|
模板元编程的荣光与局限——从类型计算到constexpr的革命
如果说C++有什么特性让其他语言的设计者感到惊讶甚至敬畏,那一定是模板元编程。这个诞生于偶然的特性——最初只是为了实现类型安全的容器而引入的模板机制——被开发者们发现是一种图灵完备的编译时计算语言。
免费试用