【内部资料】C++中unsigned、static、mutable
作者:野牛程序员:2023-10-01 13:07:42 C++内部资料阅读 2337
A. unsigned: "unsigned" 是用于声明无符号整数类型的关键字。无符号整数只能表示非负整数,不能表示负数。它的值可以被修改,但不允许存储负数。
C. static: "static" 是一个关键字,它可以用于不同的上下文中,但在声明变量时,它可以用于创建静态变量。静态变量在程序的整个生命周期内都存在,它们的值在函数调用之间保持不变。因此,它们的值可以被修改,但在函数调用之间保持不变。
D. mutable: "mutable" 是用于类中声明成员变量的关键字,它允许在 const 成员函数中修改这些成员变量的值。因此,如果一个成员变量被声明为 mutable,它可以在 const 成员函数中被修改,但其他成员变量不能被修改。
以下是使用这些关键字的示例代码:
A. 使用 "unsigned" 声明无符号整数变量:
unsigned int myUnsignedVariable = 10; myUnsignedVariable = 20; // 可以修改值
B. 使用 "const" 声明常量变量:
const int myConstVariable = 5; // myConstVariable = 8; // 不能修改值,会导致编译错误
C. 使用 "static" 声明静态变量:
void myFunction() { static int myStaticVariable = 0; myStaticVariable++; std::cout << "Static Variable: " << myStaticVariable << std::endl; } int main() { myFunction(); // 输出 Static Variable: 1 myFunction(); // 输出 Static Variable: 2 return 0; }
D. 使用 "mutable" 声明可变成员变量:
class MyClass { public: MyClass(int value) : myMutableValue(value) {} void printValue() const { // myMutableValue 可以在 const 成员函数中修改 myMutableValue++; std::cout << "Mutable Value: " << myMutableValue << std::endl; } private: mutable int myMutableValue; }; int main() { const MyClass obj(10); obj.printValue(); // 输出 Mutable Value: 11 return 0; }
上述示例演示了如何使用这些关键字声明变量,并在适当情况下修改它们的值。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892