《C++必知必会》读书笔记4

简介:

int *f();   //一个返回值为int* 的函数

int (*f)();  //一个函数指针,指向一个返回类型为int的并且无参数的函数

 

const int N=12;

int *a[N];  //首先,提醒这段代码在c中不行。 这个是一个具有N个int * 元素的数组

int (*a)[N];  //一个指针,指向一个具有N个int元素的数组。

 

int(**p)[N];  //一个指针,指向一个指针,后者指向一个具有N哥int元素的数组

int *(*p)[N];  //一个指针,指向一个具有N个int * 元素的数组

int (**const p)()const =0;  //一个常量指针,指向一个指向函数的指针。

int* (*p)();     //一个指针,指向一个返回类型为int* 的函数。

 

参数和返回值都会影响指针的类型:

char *(*p1)(int ,int);

char *(*p2)(short,short)=0;

p1=p2;  //Error 类型不匹配

 

智能指针通过重载->和* (也可能还有->*)操作符,来模仿指针的行为。

函数对象类型通过重载()操作符,来创造类似于函数指针的东西。

 

在c++中,一个对象可以哟多个有效的地址,因此指针的比较不是关于地址的问题,而是关于对象的“同一性”的问题。


==============================================================================
本文转自被遗忘的博客园博客,原文链接:http://www.cnblogs.com/rollenholt/archive/2012/03/25/2416557.html,如需转载请自行联系原作者
相关文章
|
7月前
|
存储 程序员 C语言
c++primer plus 6 读书笔记 第四章 复合类型
c++primer plus 6 读书笔记 第四章 复合类型
|
7月前
|
编译器 C++
c++primer plus 6 读书笔记 第十章 对象和类
c++primer plus 6 读书笔记 第十章 对象和类
|
7月前
|
算法 小程序 IDE
c++primer plus 6读书笔记第一章预备知识
c++primer plus 6读书笔记第一章预备知识
|
7月前
|
编译器 数据安全/隐私保护 C++
c++primer plus 6 读书笔记 第十三章 类继承
c++primer plus 6 读书笔记 第十三章 类继承
|
7月前
|
C++
c++primer plus 6 读书笔记 第十四章 C++中的代码重用
c++primer plus 6 读书笔记 第十四章 C++中的代码重用
|
7月前
|
C++
c++primer plus 6 读书笔记 第十一章 使用类
c++primer plus 6 读书笔记 第十一章 使用类
|
7月前
|
编译器 C++
c++primer plus 6 读书笔记 第八章 函数探幽0
c++primer plus 6 读书笔记 第八章 函数探幽0
|
7月前
|
编译器 vr&ar C++
c++primer plus 6 读书笔记 第七章 函数--C++的编程模块
c++primer plus 6 读书笔记 第七章 函数--C++的编程模块
|
7月前
|
C++
c++primer plus 6 读书笔记 第六章 分支语句和逻辑运算符
c++primer plus 6 读书笔记 第六章 分支语句和逻辑运算符
|
7月前
|
C语言 C++ 容器
c++primer plus 6 读书笔记 第五章 循环和关系表达式
c++primer plus 6 读书笔记 第五章 循环和关系表达式