【c++ 基础知识 0001 const 知识】教程文章相关的互联网学习教程文章

c++中的const与指针

const修饰符使用const修饰变量时,该变量的值不可修改,因此需要初始化。例如 const int s = 0;此时s为值不可变的变量。那么基于此,当const修饰指针时的情况有三种:(1)const int *p;此时const修饰的是 *p 而非 p,因此,*p的值不可变,而p的值是可变的,所以可不对p进行初始化。例如,int s = 0,t = 1;const int *p;p = &s;cout<<*p<<endl;p = &t;cout<<*p<<endl;以上代码输出:01但此时,无论p指向s或者t,均不能通过 *p 修...

C++ 之const的使用【代码】

在类中,有时候为了避免误操作而修改了一些人们不希望被修改的数据,此时就必须借助const关键字加以限定了。借助const关键字可以定义const类型的成员变量、成员函数、常对象以及对象的常引用。const成员变量const成员变量其用法和普通的const变量用法相似,在定义时只需在前面加上const关键字即可。const成员变量的初始化只有唯一的一条途径:参数初始化表。这个在前面已经提到过,不记得的话可以再去翻看参数初始化表那一小节。co...

【C++注意事项】5 Top-level const , The auto and decltype Type Specifier【代码】

top-level constAs we’ve seen, a pointer is an object that can point to a different object. As a result, we can talk independently about whether a pointer is const and whether the objects to which it can point are const. we use the top-level const to indicate that the pointer itself is a const. When a pointer can point to a const object, we refer to that const as a low-level const.More generally, ...

C++ const关键字【代码】

定义 const关键字的作用是对变量的类型加以限定。被const修饰的变量值不可改变(初始化后不可以再被赋值),例如:const int num1 = 1; num1 = 1; //错误const表示变量是不可写的,但是这并不影响变量的可读性:const int num1 = 1; int num2 = num1; //正确,可以使用常量对象进行拷贝初始化 const引用 使用const修饰的引用称为对常量的引用,实际上是将引用绑定到一个常量对象上。const int num1 = 1; const int &r1 = num1; //正...

C++ STL中的 iterator 和 const_iterator【代码】

我们在C++中使用STL的容器时,经常会用到迭代器。使用迭代器可以很方便的进行容器元素遍历和修改等操作。近日,在使用Visual Studio 2015编程的时候发现,set的迭代器直接就是const_iterator类型,而vector的迭代器则是普通的iterator类型,这是为什么呢?今天就和大家一起来探究一下。Set/Map类型1set<int>::iterator it1; 2 map<int,int>::iterator it2; 3 it1 = set1.begin(); 4 *it1 = 1;在Visual Studio 2010版本以上,声明一...

关于C++中的Const常量

一. 为什么需要常量 (1)如果不使用常量,直接在程序中填写数字或字符串,将会有什么麻烦:1. 程序的可读性(可理解性)变差。程序员自己会忘记那些数字或字符串是什么意思,用户则更加不知它们从何处来、表示什么。2. 在程序的很多地方输入同样的数字或字符串,难保不发生书写错误。3. 如果要修改数字或字符串,则会在很多地方改动,既麻烦又容易出错。 (2)尽量使用含义直观的常量来表示那些将在程序中多次出现的数字或字符串。...

C++ 之 const member function【代码】

一个常量成员函数(const member function), 可以读取类的数据成员,但不能修改类的数据成员。1 声明 在成员函数声明的参数列表后,加上 const 关键字,将其声明为常量成员函数(const member function),表明其不被允许修改类的数据成员 下面定义了一个 Date 类,分别以年、月、日的形式来表示日期class Date { public:int day() const { return d; }int month() const { return m; }int year() const;void add_year(int n); //...

c++ const(不断跟新)【代码】

1.把一个 const 对象的地址赋给一个普通的、非 const 对象的指针也会导致编译时的错误:constdouble pi = 3.14; double *ptr = &pi; // error: ptr is a plain pointerconstdouble *cptr = &pi; // ok: cptr is a pointer to const2.不能使用 void* 指针(第 4.2.2 节)保存 const 对象的地址,而必须使用 const void* 类型的指针保存 const 对象的地址:constint universe = 42; constvoid *cpv = &universe; // ok: cpv is co...

C++ const限定符

const限定符:利用const对对象加以限定,使得const对象一旦创建后其值就不能再改变。const对象在定义时就必须对其进行初始化,有两种方式:const int x = 10; const int x = getValue();第一种是直接给对象赋值一个常量或常量表达式,以这种方式初始化的,编译器会在编译阶段对所有的对象进行替换,如:把程序中所有出现x的地方都替换为10。第二种方式是在运行时初始化,通过函数getValue()的返回值来初始化x。默认情况下,const对...

[C++ Basic] Const 用法

定义:  const 主要用于声明常量。当常量为对象时,对象值不可改变;当常量为指针时,该指针不可移动或重新赋值,但我们可以通过它去修改该指针的指向对象的值(前提是无需移动指针的修改)。所谓的形参、返回值、成员变量均是变量,因此当const修饰他们时,亦属于常量范畴。不过常成员变量必须在类的构造函数的初始化列表中进行初始化。  const 还可用于声明类的常成员函数。该常成员函数不能修改类中任何非const成员变量及调...

实战c++中的string系列--string与char*、const char *的转换(data() or c_str())【代码】

在project中,我们也有非常多时候用到string与char*之间的转换,这里有个一我们之前提到的函数 c_str(),看看这个原型:constchar *c_str();c_str()函数返回一个指向正规C字符串的指针, 内容与本string串同样. 这就看到了吧,返回值是const char*,这里须要注意一下。1 string转const char* 当然是用到上面所述的方法c_str():string s1 = "abcdeg"; constchar *k = s1.c_str(); cout<<k<endl;还有还有一种方法: data():与c_s...

Duanxx的C++学习: const指针具体解释

Const指的是一个编译时的常量。 keywordconst使得代码能够确定一个变量能否够被改动。使用了const后,能够防止对变量或者指针的改动;更重要的是,const的引用能够防止对所引用的对象的改动。 一般来说,在C语言中,对于一些常量的定义,我习惯性的使用define,而在C++中则最好改为使用const。 对于嵌入式程序而言,const的使用则是相当的微妙的,被const修饰后,其变量是存放在ROM中的,这一点非常重要。 关于Const的指针...

C++ 中 const 使用【代码】

如果你一看见C++中const就脱口而出:“常量!”那只能说明你对c++不甚了解。或者说你太2了.const得一些使用方法与场景如下:1:const修饰普通变量,全局变量,静态变量1constint iTmp = 1; 2intconst iTmpEx = 2;变量保持其原有属性,只是多了一个const,只读属性。这里,const到底是紧贴变量名还是类型说明符号(int)都无关紧要。在修饰指针时候得不同在后面会详细说明.2:const修饰指针const 修饰指针有三种情况 //A: 指针指向内容不...

C++ 原来 const 中所使用的函数 必须 全都具有 const 才行【代码】

今天在写程序的时候,出现了一个错误 “对象包含与成员函数不兼容的类型限定符”,从网上查了一下,原来原因是这样子的void showPair();改成 void showPair()const; 在具有 如上图所示的函数中,如果调用了其它函数,那么其它函数也必须有 const 属性,否则就会出现 类型限定符不兼容的错误!原文:http://www.cnblogs.com/lujin49/p/4598346.html

c++ 基础知识 0001 const 知识

1. C++ const用法 尽可能使用const2. C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。3. 3.1.const 修饰成员变量 #include<iostream>using namespace std;int main(){ int a1=3; ///non-const data const int a2=a1; ///const data int * a3 = &a1; ///non-const data,n...

CONST - 相关标签