C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c函数语法/原型 – 括号后的数据类型大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我非常熟悉C/C++标准函数声明.我最近看到过这样的事情:
int MyFunction(char parameter) const

以上只是一个假设的例子,我甚至不知道它是否有意义.我指的是参数之后的部分.常数.这是什么?

一个更真实的例子:

wxGridCellCoordsArray GetSELEctedCells() const

这可以找到here
那么文本const到底在做什么呢?

解决方法

const关键字在函数之后显示,保证函数调用者不会更改任何成员数据变量.

比如给这个班级,

// In header
class Node {

public:

Node();

void changeValue() const;

~Node();

private:

int value;

};

//在.cpp

void Node::changeValue() const {
    this->value = 3; // This will error out because it is modifying member variables
}

这条规则有一个例外.如果声明成员数据变量是可变的,则无论函数是否声明为const,都可以更改它.使用mutable是因为对象被声明为常量的罕见情况,但实际上有成员数据变量需要更改选项.其使用的一个潜在示例是缓存您可能不想重复原始计算的值.这通常很少见……但要注意它是件好事.

比如给这个班级,

// In header
class Node {

public:

Node();

void changeValue() const;

~Node();

private:

mutablE int value;

};

//在.cpp

void Node::changeValue() const {
    this->value = 3; // This will not error out because value is mutable
}

大佬总结

以上是大佬教程为你收集整理的c函数语法/原型 – 括号后的数据类型全部内容,希望文章能够帮你解决c函数语法/原型 – 括号后的数据类型所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。