当前位置:首页 C++内部资料 > 正文

【内部资料】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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击