相对于高级编程而言,低级编程更加依赖于硬件,它往往指位和字节级别的编程,主要应用于嵌入式编程,也可用来提升程序效能。
POD(Plain Old Data),简单的旧数据,指标量、没有构造函数的旧式结构体、基类、私有数据、虚拟函数等。POD在以字节为单位进行复制这方面来说是安全的。C++11可以把应用旧标准C++98而开发出来的程序去除一些限制但仍然保留POD特性以便于以字节进行复制。
共用体也发生了变化。C++11允许共用体带有构造函数和析构函数,在其他方面也添加了新的限制,比如说不允许虚拟函数。共用体经常用于最小化内存占用。
C++11中的内存对齐。alignof操作符提供了对某种类型在内存对齐方面的说明。Alignas可以用于控制内存对齐。
Constexpr机制允许编译器把一个编译期表达式计算成为一个常量值。在低级编程方面这个机制允许const量存储在只读内存区,这一点在嵌入式编程中尤其有用。无论是不是const变量,只要这个变量在运行期被初始化的,都存储在内存的随机存储区中。
C语言中的stdint.h和C++中的cstdint支持扩展类型。
C++11支持二进制标签,这个标签可以通过标签操作符转换成一个整型值。
C++11提供了static_assert用于测试编译期表达式的真假,这类似于assert,但与之不同,assert用于判断运行期的表达式。Static_assert主要用于简化编译期发生的模版的实例的调试工作。
C++11还支持元编程。关于这一点Effective C++中曾提过模版元编程。
低级编程
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 简介 C++98/03的设计目标:一、比C语言更适合系统编程(且与C语言兼容)。二、支持数据抽象。三、支持面向对象...