vc6.0和vc7.0,好象用向导创建生成的源程序有点不一样

斗斗来三 2005-10-25 03:45:02
例如void CTestView::OnDraw(CDC* /*pDC*/)
{
}
为什么要把pDC给注释掉。

CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/)
: CDialog(CTestDlg::IDD, pParent),m_Edit(_T(""))
{

}
这里把null注释掉了,是何道理,
m_Edit(_T(""))是初始化变量,为何要放逗号后面
...全文
106 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kenskens 2005-10-25
  • 打赏
  • 举报
回复
缺省参数只能放在函数声明中,通常在一个头文件中。编译器必须在使用该函数之前知道缺省值。有时人们为了阅读方便在函数定义处放上一些缺省的注释值。如:void fn(int x /* =0*/ ) { //...}

缺省参数可以让声明的参数没有标识符,这看上去很有趣。我们可以这样声明:
void f(int X, int = 0, float =1.1);
在C + +中,在函数定义时,我们并不一定需要标识符,像:
void f(int X, int,float f) {/*...*/}
在函数体中,x和f可以被引用,但中间的这个参数值则不行,因为它没有名字。这种调用还必须用一个占位符( p l a c e h o l d e r),有f ( 1 )或f ( 1 , 2 , 3 . 0 )。这种语法允许我们把一个参数当作占位符而不去用它。其目的在于我们以后可以修改函数定义而不需要修改所有的函数调用。当然,用一个有名字的参数也能达到同样的目的,但如果我们定义的这个参数在函数体内没有使用,多数编译器会给出一条警告信息,并认为我们犯了一个逻辑错误。用这种没有名字的参数就可以防止这种警告产生。

更重要的是,如果我们开始用了一个函数参数,而后来发现不需要用它,我们可以高效地将它去掉而不会产生警告错误,而且不需要改动那些调用该函数以前版本的程序代码。
----------Think C++
fisker0303 2005-10-25
  • 打赏
  • 举报
回复
i_noname(晚九朝五) 正解
yayaniuniu502 2005-10-25
  • 打赏
  • 举报
回复
例如void CTestView::OnDraw(CDC* /*pDC*/)
{
}
为什么要把pDC给注释掉。
你要用那个dc,系统根本就不知道啊。你要用pDC的话,你就把注释删掉就OK了
i_noname 2005-10-25
  • 打赏
  • 举报
回复
这里把null注释掉了,是何道理:
CTestDlg(CWnd* pParent = NULL);//这是函数定义
//下面是函数实现
CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/)
: CDialog(CTestDlg::IDD, pParent),m_Edit(_T(""))
{
}
定义中使用了默认参数,写函数实现的时候是不能写上去的,一般人是直接删掉的,MFC保留用注释的形式保留下来提醒用户。
============================================
m_Edit(_T(""))是初始化变量,为何要放逗号后面:
成员初始化器的语法就是这样。
rageliu 2005-10-25
  • 打赏
  • 举报
回复
CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/)
: CDialog(CTestDlg::IDD, pParent),m_Edit(_T(""))你是不是没看清楚?楼主!!这句是这个样的:
CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/): CDialog(CTestDlg::IDD, pParent),m_Edit(_T(""))
CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/):的后面有了2句: CDialog(CTestDlg::IDD, pParent),m_Edit(_T(""))!!!!!中间当然用“,”隔开了
kenskens 2005-10-25
  • 打赏
  • 举报
回复
m_Edit(_T(""))是初始化变量,为何要放逗号后面

这个是C++多个成员对象初始化的规定

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧