C++ Primer学习笔记-第七章杂记

        这第七章没有任何出彩的地方,所以作者在最后给出个指向函数的指针,指向函数的指针,先拽点名词,问:函数的指针和指向函数的指针是同是异?
        函数的名字被解释成指向函数的指针,想一想这是顺理成章的故事。
        为什么要引出个指向函数的指针呢?
        我自认为:这东西有大用处.正如书上所说,这个技术使函数有分支预测的能力,会获得不同的结果,想来有些重载函数的意味,但是我们知道重载的函数之间是靠参数的差异来区别重载函数的不同的,而以函数指针为参数的函数表面看来,甚是相同。
        :void print( int arr[][], int size );这个函数声明是对是错?
        当然是错的了,这个根本不是什么函数声明的问题,而是数组声明的问题,int arr[][]这个声明就是错的,后面一维的长度不可省略!
        问:char* ScreenInit(int height = 120; int width; char background);这个声明如何?
        这个不能算是错的,要看它前面的具体情况,如果单单是看这一个函数声明当然是错误的了,因为如果height的前面没有缺省的参数值,则此声明wrong!
        问:int putvalues( (&ia)[] ); 又如何?
        错,引用必须知道所倚数组的大小!
        函数的缺省参数之间是互补的关系,所以对于每一个参数不能重复的声明两次缺省参数。
        对于以数组为参数的函数来说比如:
                void putvalues( int* );
                void putvalues( int[] );
                void putvalues( int[ 10 ] );
        都是相同的!为什么会这样呢?
         我们知道函数的参数不会检查数组的长度所以说int[100000]和
int[10]没有任何的不同,对于函数参数来说,所以就有错误发生,毕竟
int[100000]和int[10]本身是不同的呀,在参数处理的时候会有潜在的错误!
        
  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

stdHans

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值