zoukankan      html  css  js  c++  java
  • 《C++ Primer》 第04章 [ 数组和指针 ]

    第04章:数组和指针
    第二节:指针的引入
    @ 学习摘录041:
    ——指针的概念很简单,指针用于指向对象。
    @ 学习摘录042:
    如果必须分开定义指针和其所指针的对象,则将指针初始化为0,因为编译器可检测出0值的指针,程序可判断该指针并未指向一个对象。
    摘录有想042:
    ——我想这也就是说,定义指针最好有初始化,避免不必要的错误。
    @ 学习摘录043:
    ——NULL 在 <cstdlib> 头文件中定义!
    @ 学习摘录044:
    ——C++提供了一个特殊的指针类型void*,它可以保存”任何”类型对象的地址。
    ——void*主要用于以下三种操作:
    ——1. 与另一个指针进行比较
    ——2. 向函数传递void*指针或从函数返回void*指针
    ——3. 给另一个void*指针赋值
    double obj = 3.14;
    double *pd = &obj;
    // ok, void * can hold the address value of any data pointer type
    void * pv = & obj;  // obj can be an object of anytype
    pv = pd;
            // pd can be a pointer to any type
    @ 学习摘录045:指针与引用的区别
    ——指针与引用的相同点:都可间接访问另一个值
    ——第一区别:引用总指向某个对象,定义引用时设有初始化是错误的。
    @ 学习摘录046:
    ——C++允许计算数组或对象的超出未端的地址,但不允许对此进行解引用操作(*解引用操作),不合法!
    第三节:C风格字符串
    @ 学习摘录047:C风格字符串与C++的标准库类型string的比较
    ——以下程序反映了使用C风格字符串与C++的标准库类型string的不同之处,使用string类型的版本更短、更容易理解,而且出错的可能性更小。
    第四节:多维数组
    @ 学习摘录048:
    —— C++中没有多维数组,通常所指的多维数组的数组;
    @ 学习摘录049:
    ——ptrdiff_t:在cstddef头文件中定义的与机器相关的有符号整型,该类型具有足够大小存储两个指针的差值,这两个指针指向同一个可能的最大数组。
    ——size_t:在cstddef头文件中定义的与机器相关的无符号整型,它具有足够大小存储一个可能的最大数组。
  • 相关阅读:
    【题解】Image Perimeters-C++
    【题解】士兵训练-C++
    【题解】丑数Humble Numbers-C++
    【题解】P1638 逛画展-C++
    【题解】P3069 [USACO13JAN]牛的阵容Cow Lineup-C++
    【题解】[Noip2010]机器翻译-C++
    【题解】间隔排列-C++
    【极大化剪枝】Power Hungry Cows-C++【没有用A*!】【超级简单!】
    【题解】跳房子-C++
    C#高级编程第11版
  • 原文地址:https://www.cnblogs.com/robbychan/p/3787185.html
Copyright © 2011-2022 走看看