相对于高级编程而言,低级编程更加依赖于硬件,它往往指位和字节级别的编程,主要应用于嵌入式编程,也可用来提升程序效能。
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++中曾提过模版元编程。
低级编程
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...