昨天面试碰到一道const题目:

class A

{

public:

const A* f(const A* pSrc,A* const pDst,int v=2,...) const throw();

}a;

请按顺序指出每个const的意义:

const 在c中的意思是一个不可更改的普通变量,c 中const用法主要有定义常量修饰函数参数,修饰返回值等3个作用;c++中const 还能修饰函数定义体,定义类中某个函数为恒态函数,被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。const 声明常量时必须同时初始化

const throw()在这里表示无论如何此成员函数不抛出异常。

如此一来:const A* pSrc表示指针指向的值不可更改,A* const pDst表示指针不可更改。const A* f()表示f函数为恒态函数

转载于:https://blog.51cto.com/7008965/1179653

关于const A* f(const A* pSrc,A* const pDst,int v=2,...) const throw();相关推荐

  1. const int、const int *、int *cosnt、const int * const、const int 的区别

    2018-01-04 创建人:Ruo_Xiao 2018-10-17 修改人:Ruo_Xiao 邮箱:xclsoftware@163.com 修改内容:增加对 delete 指向常量的指针的可行性的说 ...

  2. c语言const 修饰二级指针,C++中const修饰二级指针(从类型‘int**’到类型‘const int**’的转换无效)...

    先上代码: void func(const int ** arg) { } int main(int argc, char **argv) { int **p; func(p); return 0; ...

  3. char * const p; //常量指针,p的值不可以修改  char const * p;//指向常量的指针,指向的常量值不可以改 const char *p; //和char const *p

    char * const p; //常量指针,p的值不可以修改 char const * p://指向常量的指针,指向的常量值不可以改 const char *p: //和char const *p

  4. int argc,char const *argv[]

    日常学习-1.18 int argc,char const *argv[] int main(int argc,char const argv[]) 是UNIX和linux中的标准写法 argc是命令 ...

  5. 对于这个函数const int func(const int a) const声明中,三个const分别是什么意思?...

    第一个const 函数的返回值类型是const. 这个const修饰没什么意义,你可以想象一下: 既然是函数的 返回值,而且是值传递的形式,是否const有什么意义.如果指针(引用)传递,怎表示返回值 ...

  6. php const 字符串,我可以使用字符串连接在PHP中定义一个类CONST吗?

    Imho,这个问题值得PHP 5.6的答案,感谢@jammin comment 从PHP 5.6开始,你可以为一个常量定义一个静态标量表达式: class Foo { const BAR = &quo ...

  7. 程序员面试宝典笔记1-基本概念预处理,const与sizeof

    程序员面试宝典笔记1-基本概念&预处理,const与sizeof 基本概念 赋值语句: i++: 类型转换 运算符问题 a,b交换与比较 其他 预处理 const sizeof 基本概念 赋值 ...

  8. const在指针中的用法

    一.指向const对象的指针---对象不能修改 方式1 int value1 = 3; const int *p1 = &value1; *p1 = 5; //错误,不能修改const指向对象 ...

  9. C++中const用于函数重载

    常成员函数和非常成员函数之间的重载 首先先回忆一下常成员函数 声明:<类型标志符>函数名(参数表)const: 说明: (1)const是函数类型的一部分,在实现部分也要带该关键字. (2 ...

最新文章

  1. linux块设备的IO调度算法和回写机制
  2. windows搭建内网 域环境 域控制器 win7加入域
  3. VS2013导入opencv320配置属性文件
  4. 洛谷——P1549 棋盘问题(2)
  5. 1月26日学习内容整理:reverse函数补充,modelform对象补充,form表单参数补充
  6. 大数运算(8)——大数幂运算
  7. 【机器学习】算法模型自动超参数优化方法
  8. 为什么你需要设计和维护一套自我移动标准?
  9. CC视频CTO栗伟:CDN系统架构及CC视频应用实践
  10. Linux 牛书推荐:《Linux网络编程》
  11. Linux 命令(98)—— basename 命令
  12. PVS中TFTP的隐藏配置
  13. 统计学原理 实验方法
  14. Keil uVision5 MDK-ARM 程序使用—————中文图解
  15. 单摄像机对于二维平面的测量
  16. Switch视频转换器方案
  17. 终端上网_TP-Link企业路由器IPv6上网配置指导
  18. 20155313 杨瀚 《网络对抗技术》实验五 MSF基础应用
  19. 广告业务系统 之 数据中转站 —— “日志中心-实时服务监控”
  20. 工业水处理行业主要壁垒构成及重点企业分析、相关风险、处理规模

热门文章

  1. 猎魂觉醒服务器界面不显示角色,猎魂觉醒新人常见问题集合 新人常见问题解决_3DM手游...
  2. 模糊数学 计算机智能,《常用算法之智能计算 (五) 》:模糊计算
  3. PHP获取自然周始末时间
  4. Ar大屏幕互动,面向非专业领域的体验
  5. 怎样把本地文档共享至服务器上,利用云服务器共享本地文件
  6. 2022年武汉专精特新小巨人企业奖励补贴以及申报条件汇总
  7. C语言实现植物大战僵尸----学习过程
  8. 使用yum下载文件报No module named urlgrabber.grabber错
  9. grabber.start()获取摄像头数据异常
  10. 计算机网络实验:CISCO IOS 路由器基本配置