最近在看陈黎娟的书《C、C++实践进阶之道,写给程序员的编程书》,其中第十一章讲的是变量和类型,现做笔记如下:

  1. 数据存储区域分只读数据区(存储常量和恒值,正常情况下不做修改)、全局/静态存储区(全局变量和静态变量)、自由存储区(CRT即c运行时库通过malloc、free函数管理的内存)、栈区(编译器自动分配和回收,存储函数的入参和局部变量)、堆区(new和delete负责的区域)
  2. 计算机存储变量如整型、浮点型等类型数据是按位进行划分,分为符号位、指数位、尾数部分等
  3. 使用变量时要确保变量被初始化过,初始化方法有构造函数赋值和列表初始化
  4. 全局变量、静态局部变量和静态全局变量存储在内存的静态存储区域,默认初始化为0,局部变量存在内存的栈区,默认初始化为随机值
  5. 变量在内存中存储方式分静态存储(定义时即分配直到程序结束)和动态存储(使用才分配,使用完即释放)
  6. 四种变量存储类型:auto(动态分配)、register(动态分配)、extern(静态分配)、static(静态分配)
  7. 声明引用的引用、指向引用的指针、指向引用的数组都是非法的
  8. 初始化值是个左值(可以取得地址),可以初始化引用
  9. 初始化值不是个左值,只能对const T&(常量引用)赋值。赋值过程:1、将值隐式转换到类型T;2、将转换对象结果保存到一个临时对象中;3用临时对象来初始化引用变量。const T&(常量引用)中使用的临时对象会和const T&(常量引用)共存亡。
  10. 尽量减少const引用的使用,因为会伴随临时对象的产生
  11. 函数声明尽量避免const引用形参声明,理由同上

c++ 读陈黎娟的《C、C++实践进阶之道,写给程序员的编程书》所感--关于变量的类型与引用相关推荐

  1. 读陈黎娟的《C、C++实践进阶之道,写给程序员的编程书》--关于字符和字符串、函数

    关于字符和字符串: c中只有字符数组来存储字符串,需要先声明长度:c++中通过string类型来定义字符串. c++中string类型的字符串以'\0'来结尾,计算长度用strlen时不包含结尾的字符 ...

  2. 读陈黎娟的《C、C++实践进阶之道,写给程序员的编程书》--关于指针

    指针学习记录: 指针有两个属性:值和类型.值是存储的地址,类型表示所指向的变量的数据类型. 指针的类型有两个作用:1.指示编译在解引用时从内存读取几个字节:2.指示编译在进行指针类型转换时如何进行类型 ...

  3. 随笔 | 读《写给年轻程序员的思考书》ii

    一名技术人员的能力高低,不仅仅在于编程,更多的是一种思维,越接触上层的技术与底层的原理,越是如此.当然,作为我们现在所处的位置,肯定要踏踏实实地撸代码,不要去过多思考高屋建瓴的东西.熟能生巧,手感热了 ...

  4. 程序员超级干货书单分享!这些书年轻时一定要读!

    读书的意义大概就是用生活所感去读书,用读书所感去生活. 前言 今年因为种种原因读书的频率远不如从前了,这是我要反思的点,读书如果大家一定要我挑个缺点,那我想只有是看久了眼睛累,近视容易加深吧. 我做什 ...

  5. 读《编程之道》-对于程序员的抽象描述

    <编程之道>的第二篇是"古代的大师(The Ancient Masters)",不知道悟道非常深的作者为何在编程大师的前面加上了个"古代"来修饰,我 ...

  6. 人民邮电出版社图灵公司举办的与陈黎夫在线聊天活动——聊天记录

    本期嘉宾:,csdn读书频道,陈黎夫,谢工,主持人,聊天话题:与"陈黎夫"在线交流活动 嘉宾[主持人]: 大家好,欢迎参加人民邮电出版社图灵公司举办的与陈黎夫在线聊天活动. [20 ...

  7. 华为公司董事陈黎芳:我们是一个“三无企业”

    迎风破浪,抢占上风口 --华为公司董事.高级副总裁陈黎芳与新员工座谈 有人说,现在是华为最困难的时刻.但我想说,30多年来,华为就是从一个困难又一个困难走出来的.努力克服各种挑战,已经成为一种习惯.我 ...

  8. 程序员练级攻略(2018)-陈皓-笔记整理

    程序员练级攻略(2018)     开篇词     入门篇         零基础启蒙         正式入门     修养篇         程序员修养     专业基础篇         编程语 ...

  9. unix程序员手册_推荐几本实惠电子书,程序员读的经典书都有,比如deep learning...

    小编挑了几本大家耳熟能详的经典电子书,希望您能喜欢.四折的价格小编都用红框标注出来喽!!!祝您阅读愉快!以下推荐的9本电子书均由异步社区出品,如需要请移步https://www.epubit.com/ ...

最新文章

  1. 【keras】A `Concatenate` layer should be called on a list of at least 2 inputs
  2. springboot切面返回值_SpringBoot实战15-Spring基础-AOP
  3. 网络安全用python吗_使用Python进行网络安全渗透——密码攻击测试器
  4. 具有InlfuxDB的Spring Boot和Micrometer第3部分:Servlet和JDBC
  5. 如何用python做计算软件_如何用Python写一个计算器软件 附带效果图
  6. dz mysql导出shell_mysql数据备份并导入数据库shell脚本
  7. 为啥有的人能受穷,却不能吃苦?
  8. Linux内核协议栈分析之——tcp/ip通信并不神秘
  9. QLoo graphql engine 学习二 基本试用(kubernetes)
  10. 《流畅的Python》读书笔记——接口:从协议到抽象基类
  11. oledb操作Excel
  12. java 工作流框架_java工作流是什么?哪些工作流框架比较好?
  13. linux系统双网卡不能同时启动,针对RHEL中双网卡IP不能同时被访问的解决方法
  14. 学会聆听,职场最重要的事情,没有之一!!!
  15. 脱离.Net Framework运行doNet程序的简单方法
  16. 探寻虹膜识别背后的身份密码 | 硬创公开课
  17. 5-GSM空中接口物理层的设计
  18. 作为硬件工程师,常用设计资源合集
  19. Element UI 左侧折叠导航栏配合el-asid文字闪烁的问题,element-UI 中beforeLeave用法,echarts 无法获取属性“getAttribute”的值
  20. echarts 报错Cannot read properties of undefined (reading ‘coord‘)

热门文章

  1. 百度主动推送,百度收录,百度sitemap.xml的标准格式...
  2. Ios 调用打印机2
  3. ORA-01221: data file 5 is not the same file to a background process
  4. gin 怎么通过 post 发送结构体_PreSonus UC软件操作说明——输入信号发送至输出
  5. 显示页面计算机回收站,电脑回收站清空了怎么恢复真的很简单
  6. 《iOS取证实战:调查、分析与移动安全》一2.5 与iTunes的交互
  7. nginx upstream配置aws alb域名导致timeout报错
  8. LeetCode JAVA语言全部解题思路+答案代码+多种解法+关键注释(持续更新...)
  9. 微信小程序全局组件注册使用
  10. C:\Users\Kelly\AppData\Roaming\npm-cache\_logs\2019-03-24T08_17_24_284Z-debug.log