zoukankan      html  css  js  c++  java
  • 第二章 变量和基本类型

    通常将8位的快作为一个字节.32位或者4个字节作为一个"字"(word);
     
    在大多数机器上,使用int类型进行整型计算不易出错.就技术上而言,int类型用16位表示---这对大多数应用来说太小了.实际应用中,大多数通用机器都是使用和long类型一样长的32位来表示int类型.
     
    为了兼容C语言,C++中所有的字符串字面值都由编译器自动在末尾添加一个空字符.
    如:  'A' 表示单个字符A,然而"A"表示包含字母A和空字符两个字符的字符串.
     
    有一些非法的表达方法:
    1. "two" L"some" 非法.因为字符串字面值与宽字符串字面值的连接是未定义的.
    2.1024f 非法:因为整数后面不能带后缀f.error: invalid suffix "f" on integer constant|
    3.3.14UL 非法:因为浮点字面只能带后缀Uerror: invalid suffix "U" on floating constant|
     
    C++ 中的标识符都是大小写敏感的.
    下面定义了4个不同的标识符:
    int somename,someName,SomeName,SOMENAME;
     
    变量命名习惯:
    1.变量名一般用小写.通常写成index,而不写Index或者INDEX;
    2.标识符应使用能帮助记忆的名字.
    3.包含多个词的标识符可以在每个词之间添加一个下划线,或者每个内嵌的词的首字母大写.如student_loan或studentLoan
     
    初始化和赋值的问题
    在C++中理解"初始化不是赋值"是必要的.初始化指创建变量并给它赋初始值,而赋值则是擦除对象的当前值并用新值代替。
    C++支持两种初始化变量的形式: 
    1.复制初始化(copy-initializationi)  int ival = 1024;
    2.直接初始化(direct-initialization) int ival(1024);
    使用=来初始化变量使得许多c++编程新手感到迷惑,他们很容易把初始化当成是赋值的一种形式.但是在c++中初始化和赋值是两种不同的操作.c++中只有在编写非常复杂的类才会凸显这两者之间的区别.直接初始化语法更灵活且效率更高.
     
    常量在定义时必须初始化
    因为常量在定以后就不能被修改,所以定义时必须初始或:
    const std::string hi = "hello";//ok:initialized;
    const int i,j=0;//error:i is uninitialized const;
     
    const引用可以初始化为不同类型的对象或者初始化为右值,如字面值常量:
    int i =42;
    const int &r =42;
    const int &r2= r+i;
    注意到const引用是只读的.
     
    不要忘记类定义后面的分号,这是个普遍的错误!
     
     
    在函数体外定义的变量都初始化为0,在函数体里定义的内置类型变量不进行自动初始化..
     
     
     
    #include "stdafx.h"
    #include <iostream>
    #include <string>
    using namespace std;
    string global_str;
    int global_int;
    int main()
    {
    int local_int;
    string local_str;
    cout<<global_str<<endl;      //空
    cout<<local_str<<endl;         //空
    cout<<global_int<<endl;//0
    cout<<local_int<<endl;         //未初始化
     
    return 0;
    }
  • 相关阅读:
    mysql学习笔记——建表需满足的三大范式
    mysql学习笔记——对数据记录查询操作的补充(单表内查询)
    mysql学习笔记——对数据表中记录的操作
    转载----- mysql 五大约束
    mysql笔记------对数据表操作
    c语言中static的用法
    解决Android抽屉被击穿问题
    解决ScrollView与ListView事件冲突
    使用Loader实时查询本地数据库用法
    Android中实现两次点击返回键退出本程序
  • 原文地址:https://www.cnblogs.com/crazycodehzp/p/3237765.html
Copyright © 2011-2022 走看看