当前位置: 首页>>代码示例>>C++>>正文


C++ A::DoNothingConst方法代码示例

本文整理汇总了C++中A::DoNothingConst方法的典型用法代码示例。如果您正苦于以下问题:C++ A::DoNothingConst方法的具体用法?C++ A::DoNothingConst怎么用?C++ A::DoNothingConst使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在A的用法示例。


在下文中一共展示了A::DoNothingConst方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

int main(void)
{
    /*
        If a object is const type, it must call the const version of member function.
        When we call a member function, the compiler pass the invoking object's address
        to the member function as the initializer for the implicit parameter `this`.
        Because that `this` is const pointer to nonconst by default, we cannot use
        a ptr to const to initialize a ptr to nonconst.
        The `const` keywork solved this problem. It modify the `this` parameter's type in a
        member function, from const-ptr-to-nonconst to const-ptr-to-const.
        As a result, the member function can be called by both const and nonconst objects. (because the nonconst can be converted to const)
     */
    const A a;
//    a.DoNothing(); // error: passing ‘const A’ as ‘this’ argument of ‘void A::DoNothing()’ discards qualifiers
    a.DoNothingConst();

    A b;
    b.DoNothing(); // ok
    b.DoNothingConst(); // ok
}
开发者ID:mhchia,项目名称:practice,代码行数:20,代码来源:member_function_const_keyword.cpp


注:本文中的A::DoNothingConst方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。