我们可以用static修饰一个类的成员函数,也可以用const修饰类的成员函数(写在函数的最后表示不能修改成员变量,不是指写在前面表示返回值为常量)。 请问:能不能同时用static和const修饰类的成员函数? 答案是不可以。C++编译器在实现const的成员函数的时候为了确保该函数不能修改类的实例的状态,会在函数中添加一个隐式...
2、类的静态成员函数是属于整个类而非类的对象,所以它没有this指针,这就导致了它仅能访问类的静态数据和静态成员函数。 二、 关于const const 是C++中常用的类型修饰符,但我在工作中发现,许多人使用它仅仅是想当然尔,这样,有时也会用对,但在某些微妙的场合,可就没那么幸运了,究其实质原由,大多因为没有搞清本...
void function4(const int& Var); // 引用参数在函数内为常量 // 函数返回值 const int function5; // 返回一个常数 const int* function6; // 返回一个指向常量的指针变量,使用:const int *p = function6; int* const function7; // 返回一个指向变量的常指针,使用:int* const p = function7; st...
这里的static是对函数的作用范围的一个限定,限定该函数只能在其所处的源文件中使用,因此在不同文件中出现相同的函数名称的内部函数是没有问题的。在C语言中能被其他源文件调用的函数称谓外部函数 ,外部函数由extern关键字来定义,形式为:extern [数据类型] 函数名([参数])C语言规定,在没有指定函数的作用范围时,...
若一个类的成员函数前用static关键字修饰,则该成员函数 ()A.可以被声明为constB.没有this指针C.可以访问该类的所有成员D.只能用对象名来调用
第一、在修饰变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。 第二、static修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。 第三、static修饰一个函数,则这个函数的只能在本文件中调用,不能被其他...
3).静态内存用来保存static对象,类static数据成员以及定义在任何函数外部的变量,static对象在使用之前分配,程序结束时销毁; 4).栈和静态内存的对象由编译器自动创建和销毁。 3. 堆和自由存储区的区别? 总的来说,堆是C语言和操作系统的术语,是操作系统维护的一块动态分配内存;自由存储是C++中通过new与delete动态分配...
()36、const对象不能随意被修改,但const成员函数可以修改const对象。 ()37、拷贝初始化构造函数的参数只能是对某个对象的引用。 ()38、类的公有静态成员既可以用类的对象访问,也可以用作用域运算符通过类名访问。 ()39、拷贝初始化构造函数的参数可以是某类的对象名。 ()40、在类体外定义的函数若没有关健字...
百度试题 结果1 题目关于const关键字说法错误的是( ) A. const关键字可以修饰对象和成员函数 B. const对象不能被修改 C. const成员函数不能修改类数据成员 D. const可以用于说明类 相关知识点: 试题来源: 解析 D 反馈 收藏