本文整理汇总了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
}