ceph源码学习之c++语法
来源:互联网 发布:linux qq安装教程 编辑:程序博客网 时间:2024/06/15 03:14
1.mutable
在C++中,mutable是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中,甚至结构体变量或者类对象为const,其mutable成员也可以被修改。
例子:
struct A{
int a;
mutable int b;
}
const A a1 = {1,2}
a1.a = 3; //错误
a1.b = 4; //正确
2.申请内存的几个函数
2.1 malloc与free --------用户空间,堆上动态申请的内存,C++/C语言的标准库函数
kmalloc 与kfree ----------内核空间,物理连续
vmalloc 与vfree: -------内核空间,物理不连续,虚拟连续
2.2 mmap与munmap -----mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。
2.3 new和delete ------是C++的运算符
2.4 posix_memalign和free ----申请内存对齐的内存地址
3.getenv()
val = getenv("环境变量名")
获取指定环境变量名的值,若没有则返回空字符。
4.unlikely()和likely()
使用likely ,执行if后面语句的可能性大些,编译器将if{}是的内容编译到前面, 使用unlikely ,执行else后面语句的可能性大些,编译器将else{}里的内容编译到前面。这样有利于cpu预取,提高预取指令的正确率,因而可提高效率。
阅读全文
0 0
- ceph源码学习之c++语法
- ceph学习之pool
- ceph学习之PG
- 《ceph源码分析》 学习笔记
- ceph源码分析之线程介绍
- ceph源码分析之消息通信机制
- ceph源码分析之Log实现
- Ceph的Paxos源码注释之 Election
- 另辟蹊径Ceph源码分析之1:前言
- ceph学习之路1:虚拟机安装ceph
- Ceph命令之ceph
- Ceph学习
- Ceph学习
- Ceph学习——Ceph网络通信机制与源码分析
- Object-C学习之三:Object-C基本语法之一
- Ceph学习——Librados与Osdc实现源码解析
- ceph源码分析之读写操作流程(1)
- ceph源码分析之读写操作流程(2)
- Java 输出整数的二进制讲解
- javascript 面向对象
- 自动驾驶 (资料)
- 手风琴demo
- 获取从HyperLinkField传递的参数
- ceph源码学习之c++语法
- 2. git提交代码与查看提交log
- nginx安装及配置
- 《算法导论》学习笔记
- 安装GCC4.8和G++4.8并降级
- 运算符的优先级和导包后的基本数据类型的格式
- [BZOJ3637]Query on a tree VI(树链剖分)
- Java里的异常与自定义异常
- 安装Python(32位、64位)