zoukankan      html  css  js  c++  java
  • 《C++ Primer》 第02章 [ 变量和基本类型 ]

    第02章:变量和基本类型
    第三节:变量
    @ 学习摘录007:
    ——C++是一门静态类型语言,在编译的时候会作类型检查.
    @ 学习摘录008:
    ——左值:lvalue,左值可以出现在赋值语句的左边或右边。
    ——右值:rvalue,右值只能出现在赋值的右边,不能出现在赋值语句的左边。
    ——变量是左值,因此可以出现在赋值语句的左边,数字字面是右值,因此不能被赋值。
    摘录有想008:
    ——在我理解中,因为变量可在左也可在右,因此它为左值,而数字则只能出现在右边,因此它为右值。
    @ 学习摘录009:
    ——变量提供了可以操作的有名字的存储区,对象就是内存中具有类型的区域。
    摘录有想009:
    ——例如:int a; class b{}; b c; 这里,a 和c属于对象。
    @ 学习摘录010:
    ——初始化变量不是赋值。
    ——初始化:指创建变量并给它赋初始值。
    ——赋值:是擦除对象的当前值并用新值代替。
    @ 学习摘录011:
    ——初始化变量有两种形式。
    ——1. int ival(1024);  // direct-initialization  直接初始化
    ——2.int ival = 1024;  // copy-initialization  复制初始化
    @ 学习摘录012:
    ——复制初始化和直接初始化之间的差别是很微妙的。
    ——现在我们只需知道,直接初始化的效率更高。
    @ 学习摘录013:
    ——未初始化变量引起的错误难以发现,永远不要依赖未定义行为,使用未初始化的变量是常见的程序错误。虽然许多编译器都至少会提醒不要使用未初始化变量,但是编译器并未被要求去检测未初始化变量的使用。而且,没有一个编译器能检测出所有未初始化变量的使用。
    收大收获014:
    ——extern声明不是定义,也不分配存储空间。
    ——事实上,它只是说明变量定义在程序的其他地方。
    摘录有想014:
    ——extern的使用得注意,一个文件里面放定义,另外一个文件里面放声明才可以,上次同学就是犯了这样的错误,没有在另一个文件中声明就想用extern变量了。
    @ 学习摘录015:
    ——只有当声明也是定义时,声明才可以有初始化式,因此只有定义才分配存储空间。
    @ 学习摘录015:
    ——看来下次写程序时真的要直接在声明的时候就定义好,那样的话就安全多了。
    @ 学习摘录016:
    ——作用域可以分为三种:
    ——1.全局作用域(global scope)
    ——2.局部作用域(local scope)
    ——3.语句作用域(statement scope)
    摘录有想016:
    ——有语句 for(int val = 1; val <= 10; ++val) sum += val;
    ——此处,val 定义在for语句的作用域中,只能在for语句中使用,而不能在main 函数的其他地方。
    第五节:引用
    @ 学习摘录018:
    ——“const引用”的意思是“指向const 对象的引用”。
    @ 学习摘录019:
    ——非const引用只能绑定到与该引用同类型的对象。
    ——const引用则可以绑定到不同但相关的类型对象或绑定到右值。
    第八节:类类型
    @ 学习摘录020:
    ——每类都定义了一个接口(interfer)和一个实现。
    ——接口由使用该类的代码需要执行的操作实组成。
    ——实现一般包括该类所需要的数据。
    ——类体定义了组成该类型的数据和操作。操作称为成员函数,数据则称为数据成员。
    @ 学习摘录021:
    ——用class和sturct关键定义类的唯一差别在于默认访问级别:默认情况下,struct的成员为pulbic,而class的成员为private.
    @ 学习摘录022:
    ——当我们在头文件中定义了const变量后,每个包含该头文件的源文件都有了自己的const 变量,其名称和值一样。
    @ 学习摘录023:
    ——避免多重包含,为了避免多重包含,避免名字冲突,预处理器变量经常用全大写字母表示。
    #ifndef ABC_H
    #define ABC_H // Definition of ABC class and related functions goes here
    #endif
    摘录有想023:
    ——看了这么多书,这么多个例子,终于知道为什么它总是用大写来表示了。
  • 相关阅读:
    【Android Developers Training】 73. 布局变化的动画
    【Android Developers Training】 72. 缩放一个视图
    【Android Developers Training】 71. 显示翻牌动画
    svn更改地址怎么办
    python学习手册
    failed to bind pixmap to texture
    Ubuntu 12.04安装Google Chrome
    svn update 时总是提示 Password for '默认密钥' GNOME keyring: 输入密码
    重设SVN 的GNOME keyring [(null)] 的密码
    Nginx + uWSGI + web.py 搭建示例
  • 原文地址:https://www.cnblogs.com/robbychan/p/3787187.html
Copyright © 2011-2022 走看看