zoukankan      html  css  js  c++  java
  • Pointer

    1. const pointer

    pointer to const -> 指向的数据不能被修改

    const pointer -> 指针的地址不能被修改

    ====================================================

    int a = 3;

    int b = 4;

    // read from right to left
    const int * p1 = &a; // a pointer to a const int
    int * const p2 = &b; // a const pointer to an int

    *p1 = b; // not OK
    p1 = &b; // OK
    a = 4; // OK: *p1 = 4

    p2 = &a; // not OK
    *p2 = a; // OK

    ===================================================

    2. smart pointer

    A smart pointer is an abstract data type that stimulates a pointer with additional funationality, such as auto memory deallocation, reference counting, etc. In practise it could be a wrapper around of a regular pointer and forwards all meaningfull operations to the pointer

    The simplest smart pointer is autr_ptr which are defined in header file <memory>

    ======================================

    template <class T> auto_ptr {

    public:
    explicit auto_ptr(T* p): auto_ptr(p){}
    ~auto_prt() {delete ptr;}
    T& operator*(){return *ptr;}
    T* operator->(){return &ptr;}
    private:
    T* ptr;
    // other functionalities...
    };

    ====================================

  • 相关阅读:
    常用网站
    我的第一个 python 爬虫脚本
    在文件夹下所有文件中查找字符串(linux/windows)
    Python 列表 insert() 方法
    mysql 替换 tab 键 ( )
    访问权限的修饰符
    eclipse 快捷键
    位运算
    hadoop 环境搭建
    Hadoop 快速入门
  • 原文地址:https://www.cnblogs.com/szzshi/p/7685467.html
Copyright © 2011-2022 走看看