学习笔记之被老师问倒的问题
2016-04-08 17:34
162 查看
Register 关键字
Volatile关键字使用来禁止编译器优化变量的,也就是说会直接访问该变量的内存而不是将它加到寄存器中,避免了当被修改时有写入延迟。 常用到多线程当中,避免一个线程修改了变量的值而第二个线程访问的仍旧是原来的旧值。
Sizeof是一个运算符,是只计算数据的类型所占的内存大小,会自动进行相应的类型转换。
Sizeof(“hello”);将会计算出 6个字节,因为这个字符串会转换成一个包含‘\0’在内的字符数组进行求占内存大小。所以就会是6个字节。同理的sizeof 7 会被转换成int 从而得出结果 4个直接。
Const 在c 和 c++中的区别
在C++中const正常情况下可以看作是编译期间的常量,因为定义的产量不会被分配内存,只是放到了符号表当中,相反c中还是会当做变量来处理进行正常的分配内存因此就造成了在编译时无法确定值的情况。。
例如const int size = 10; int arr[size];则可以看作是常量。
但是int id = 10; const int size = id; int arr[size];就是错的这是个不可更改值的变量而不是常量。
另外const int id = 10; const int size = id; int arr[size];则又能在C++中编译通过。
C++中如果想要在其他文件内使用const 变量/常量 那么需要加上关键字extern
而上面的情况在C中不会存在;前者编译const 时使用了内部链接而后者使用了外部链接 。
相关文章推荐
- 【JQuery】表单验证插件——validate
- IOS打包封装Framework
- 【学习笔记----数据结构05-栈与队列】
- Struts2的properties文件
- WEB前端常见面试题汇总
- 发布一个关于SharePoint的管理小工具
- Logstash1.5 发邮件报警
- MongoDB学习 (六):查询
- c3p0源码解析 四 (C3P0Config类)
- 学习笔记之智能指针简单理解
- iOS多语言功能开发小结
- 制作mac 系统盘
- 第七周项目1:成员函数、友元函数和一般函数的区别
- Struts2知识点总结大全
- GitHub:怎样在参与开发时同步你的远程代码仓库
- 容易被忽视的问题之:View的setLayoutParams()方法
- js实现浏览器兼容复制功能
- iOS学习资源
- 【Docker】mesos如何修改hostport默认端口范围?
- Linux源码编译安装MySQL5.7