首页 > 编程语言 >C++ const 在函数中的使用

C++ const 在函数中的使用

时间:2023-10-14 22:46:22浏览次数:29  
标签:调用 const 函数 C++ 修饰 写法

C++中的const在函数中的用法有三种:

  • 修饰形参
    此时写法如下:void fun(const ClassA& a);
    目的为防止传入的原始参数被修改;
  • 修饰返回值
    此时写法为 const int& getAge();
    目的为防止函数返回值作为左值被修改;
  • 修饰函数
    此时的写法为 typeName fun() const();
    当const修饰函数时,所有类型的对象都可以调用它,但是如果没有用const修饰时,只有非const的对象才可以调用非const函数。
    当一个对象被定义为const时,初始化只能通过构造函数实现。
    定义函数为const的目的是不能使他修改调用它的对象

标签:调用,const,函数,C++,修饰,写法
From: https://www.cnblogs.com/wcp123/p/17764894.html

相关文章

  • stl(c++)
    1.vector定义: a.size()a.empty()a.clear()vector<int>::iteratorit=a.begin()迭代器(可类比于指针)前开后闭a.begin()a.end()是开始迭代器和最后一个元素的下一个迭代器a[0]=*a.begin()a.back()最后一个元素a.push_back()O(1)加入元素到末尾a.pop_back()删除最后一......
  • 二次函数与三角形面积最大值
    引入如图\((1)\),已知抛物线\(y=x^2-2x+c\)与\(x\)轴交\(A\),\(B\)两点,与\(y\)轴交于\(C\)点,抛物线的顶点为\(D\)点,点\(A\)的坐标为\((1,0)\)。\((1)\)求点\(D\)的坐标。\((2)\)若\(M\)为直线\(BC\)下方抛物线上一动点,当\(\bigtriangleupMCB\)面积最大......
  • 一些 C/C++ 的知识
    引用https://zhuanlan.zhihu.com/p/100050970https://www.sohu.com/a/300755552_120111838gcc与g++的区别GCC:GNUCompilerCollection(GUN编译器集合),它可以编译C、C++、JAVA、Fortran、Pascal、Object-C等语言。gcc是GCC中的GUNCCompiler(C编译器);g++是GCC中的GUNC++Co......
  • 动态内存管理函数及应用--通讯录管理系统(1)
    引言:我们在创建一个局部变量时,通过下列定义语句向内存申请空间,内存在栈区为变量开辟相应的空间。intval=10;//在内存中栈区中开辟大小为4Byte大小的空间chararray[10]={0};//在内存中栈区中开辟大小为10Byte大小的连续的空间...上述方式开辟空间的特点:空间开辟大小是固定的,开辟好......
  • (待完善)C/C++ Language Standard
    C89/C90(ANSICorISOC)wasthefirststandardizedversionofthelanguage,releasedin1989and1990,respectivelyC99(ISO/IEC9899:1999)C11(ISO/IEC9899:2011)C18(ISO/IEC9899:2018)ThefirstversionofCwascalled"ASystemProgrammingLang......
  • 系统调用实现原理(Printf函数为例)
    系统调用实现(Printf函数为例)调用程序时,会检查当前段的CPL(位于CS中),与目标段的DPL(位于gdt中),如果权限不够无法执行,所以我们无法以用户态直接访问某些指令并执行。而通过系统调用可以从用户态转变为内核态,执行相关程序。实现的方法为0x80中断,改变CS中的CPL为0。、以printf函数为例,其......
  • Test class should have exactly one public zero-argument constructor(测试类应该只
    在练习重写equals方法时写测试方法遇到这个问题先放报错代码:publicclassOrder{intorderId;StringorderName;publicintgetOrderId(){returnorderId;}publicvoidsetOrderId(intorderId){this.orderId=orderId;}......
  • 使用c++语言基于QT框架设计的计算器小程序
    (注:由于从未接触软件设计,后端代码也是一塌糊涂,对于一些先进的设计软件也未曾接触,如qt,vs创建MFC文件,故本次作业最大难点在于如何将已经学习的知识和未接触过的领域结合起来。秉承程序员基本素养,利用一切可以利用的资源(感谢所有开源大佬所做的贡献),如bilibili,csdn,博客园,github,......
  • 手写节流、深拷贝函数实现
    防抖函数基本实现1functiondebounce(fn,delay){2lettimer=null3returnfunction(...args){4if(timer)clearTimeout(timer)5timer=setTimeout(()=>{6fn.apply(this,args)7},delay);8}9}防抖函数完正版......
  • C++基本算法大致总结
    排序算法:快速排序(QuickSort):使用std::sort或自定义实现。归并排序(MergeSort):自定义实现或使用std::stable_sort。堆排序(HeapSort):自定义实现或使用std::make_heap和std::sort_heap。搜索算法:二分查找(BinarySearch):使用std::binary_search或自定义实现。线性......