c++ 中const

这篇具有很好参考价值的文章主要介绍了c++ 中const。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

对于基础类型直接赋值

void test01(){
    const int data=10;
    cout<<"data="<<data<<endl;

    int * p =(int*)&data;
    *p = 1000;

    cout<<"*p="<<*p<<endl;
    cout<<"after data="<<data;
}

c++ 中const,C++学习,c++

c++中,对于基础类型,const 不开辟内存空间,data放在符号表中,类似于#define,但是在对data取地址的时候,系统会开辟空间,但是我们打印的时候是变量名,从符号常量表中取数据,所以可以理解为对data无影响

使用变量对const对象赋值

void test01(){
    int a =10;
    const int data=a;

    int *p = (int *)&data;
    cout<<"data="<<data<<endl;

    *p = 2000;
    cout<<"after data="<<data;
}

c++ 中const,C++学习,c++

用变量为其赋值,则会开辟空间,而不是放入符号表中,则可以通过指针修改。

自定义类型(结构体、类)

struct person{
    char *name;
    int age;
}
void test01(){
    const person per ={"lucy",100};
    cout<<"name:"<<per.name<<" age:"<<per.age<<endl;

    person * p = (person*)&per;
    p->name = "yz1";
    p->age = 1000;

    cout<<"name:"<<per.name<<" age:"<<per.age<<endl;
}

c++ 中const,C++学习,c++

对自定义类型则直接开辟内存。通过修改指针可以对其修改。文章来源地址https://www.toymoban.com/news/detail-837475.html

到了这里,关于c++ 中const的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++中const小结

    const 修饰普通变量 表示变量的值不能被改变。下面两条语句(第 2 行和第 3 行)表示的意思一致。 const 修饰指针 指向常量的指针不能改变其指对象的值。第 5 行代码是错误的。 常量指针不能改变其指向,也就意味着它必须要初始化。但是,可以通过常量指针改变其所指对象的

    2024年03月23日
    浏览(25)
  • c++关键字const

    C++中的const是一种常量修饰符。在变量、函数参数和成员函数中使用const可以限制其对数据的修改。 const修饰的数据在定义时必须进行初始化,且不能被修改,因此使用const可以提高代码的安全性和可读性。 在 C ++ 中, const修饰的成员函数表示该函数保证不会修改类的成员变量

    2024年01月19日
    浏览(41)
  • C++ 赋值运算重载,const成员,取地址及const取地址操作符重载

    所属专栏:C“嘎嘎\\\" 系统学习❤️ 🚀 博主首页:初阳785❤️ 🚀 代码托管:chuyang785❤️ 🚀 感谢大家的支持,您的点赞和关注是对我最大的支持!!!❤️ 🚀 博主也会更加的努力,创作出更优质的博文!!❤️ 🚀 关注我,关注我,关注我,重要的事情说三遍!!!!!

    2024年02月06日
    浏览(42)
  • C++中const,指针和引用

    在线C/C++编译器,可以试着运行代码。 在C语言中,const修饰的量称为 常变量 (在编译过程中,const就是当成变量的编译生成指令的),不可以直接修改它的值,但是可以 通过地址进行修改其对应的值 。并且const修饰的变量可以不进行初始化,编译器最后默认赋值为0。 然而在

    2024年02月13日
    浏览(31)
  • C++之函数后面加const

    const声明该函数为只读函数,不会修改任何数据成员。 1、可提高程序的可读性。 2、提高程序的健壮性。 1、函数被const 标志后,不能修改成员数据 2、函数被const标志后,只能调用被const标志的函数

    2024年02月10日
    浏览(31)
  • C++系列:const关键字

    在学习C++时,const的知识点分散在书的各个章节。当我们尝试在编程时使用const时,总会感觉有一些细节被遗忘,因而不能得心应手地使用const。因此,本篇文章尝试着对const的做一些总结。参考书籍《C++ Primer Plus》 这里是我做的关于const的一些总结

    2024年03月09日
    浏览(40)
  • 17. C++ static、const 和 static const 类型成员变量声明以及初始化

    1. C++ static、const 和 static const 类型成员变量声明以及初始化 const 定义的常量在超出其作用域之后其空间会被释放; static 定义的静态常量在函数执行后不会释放其存储空间; 1.2 static static 表示的是静态的 类的静态成员函数、静态成员变量是和类相关的,而不是和类的具体对

    2024年01月18日
    浏览(49)
  • 【C++】const关键字的详解!!

    💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃 个人主页 :阿然成长日记 👈点击可跳转 📆 个人专栏: 🔹数据结构与算法🔹C语言进阶 🚩 不能则学,不知则问,耻于问人,决无长进 🍭 🍯 🍎 🍏 🍊 🍋 🍒 🍇 🍉 🍓 🍑 🍈 🍌 🍐 🍍 const是永恒不

    2024年02月03日
    浏览(36)
  • C++之函数名后面的const

    在 C++ 中,函数名后面加上const 表示该函数不会修改对象的成员变量(除非成员变量是mutable的)。这是一种良好的编程习惯,可以提高代码的安全性和可读性。 在这个例子中,internalWinId() 和 effectiveWinId() 都被声明为 const,这意味着它们不能修改调用它们的对象的状态

    2024年01月24日
    浏览(25)
  • 笔记:c++ 在函数后加const的意义

    我们定义的类的成员函数中,常常有一些成员函数 不改变类的数据成员 ,也就是说,这些函数是**\\\"只读\\\"函数**,而有一些函数要修改类数据成员的值。 如果把不改变数据成员的函数都加上const进行标识,显然,可提高程序的可读性。其实,它还能提高程序的可靠性,

    2024年01月19日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包