当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

<b>C++实用本领讲授</b>[VC/C++编程]

赞助商链接



  本文“<b>C++实用本领讲授</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

在准尺度C++中,有关缺省变量值的限制非常模糊.基于此,很多编译器答应开辟人员将缺省变量值包含在函数声明,指向函数的指针和引用,成员函数的指针,以及typedef声明中.

请看一下以下的程序:

struct A
{
void func(int x=5)
{
}
};
void g(int n=12)
{
}
// 按照C++尺度,不能在以下声明中利用缺省变量值.
void (*pf)(inti=120);
void (A::*pmf)(int j=50);
typedef void (*PF)(inti=100);
// 函数的引用
typedef void (&PRF)(inti=100);
int main()
{
pf=g;
PF pf2=g;
pmf=&A::func;
A a;
//这些调用利用了哪些缺省值?
pf();
pf2();
(a.*pmf)();
}

A::func()和g()具有缺省变量值,这是公道的.但是,指针pmf,pf以及typedefPF也定义了缺省的变量值.按照C++尺度,这是不标准的.

这一代码的实际利用中,此中的一个问题是这些声明中供应的缺省值与A::func()和g()函数供应的值不一致.也就是说,很多编译器将这些代码作为非尺度的扩大.当调用g()函数时,我的编译将120作为pf的缺省值;但是,关于pf2,它利用100作为它的缺省值.

作为一种法则,应当避免利用指向函数的指针,成员函数的指针,以及typedef命名的缺省变量值.即便你的编译器承受了它们,在更高版本中它也大概不被承受.并且,这些代码也会降低程序的机灵性,也会给那些无法辨别哪些编译器接纳何种缺省变量的开辟人员带来误导.在利用这些缺省变量值的合理代码中,这里的倡议是增添一些必要的注释,以阐明需求哪些缺省变量值.


  以上是“<b>C++实用本领讲授</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .