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

C++中的类型转换static_cast、dynamic_cast、const_cast和reinterpret_cast总结【图】

前言 这篇文章总结的是C++中的类型转换,这些小的知识点,有的时候,自己不是很注意,但是在实际开发中确实经常使用的。俗话说的好,不懂自己写的代码的程序员,不是好的程序员;如果一个程序员对于自己写的代码都不懂,只是知道一昧的的去使用,终有一天,你会迷失你自己的。 C++中的类型转换分为两种: 1.隐式类型转换; 2.显式类型转换。 而对于隐式变换,就是标准的转换,在很多时候,不经意间就发生了,比如int类型和float类型...

c++中的const修饰指针【代码】

const修饰指针是我们学习c++ 的过程中必须要经历的事情,总是把我们整的晕头转向,可能也是我自身能力不行,大佬应该没有这种感觉,言归正传,开始解剖指针。 一.const修饰指针--常量指针 例:int a = 10; int b = 20; const int * p = &a; //常量指针 特点:指针的指向可以修改,但是指针指向的值不可以修改,稍微解释一下,const后面接的是* 说明*p是不能修改的,*p是不是我们所说的指针指向的值,但是...

C++ const对象(常对象)【代码】

C++ const对象(常对象) 在 C++ 中,const 也可以用来修饰对象,称为常对象。一旦将对象定义为常对象之后,就只能调用类的 const 成员(包括 const 成员变量和 const 成员函数)了。 定义常对象的语法和定义常量的语法类似: const class object(params); class const object(params);当然也可以定义 const 指针: const class *p = new class(params); class const *p = new class(params);class为类名,object为对象名,param...

C++ const成员变量和成员函数(常成员函数)【代码】

C++ const成员变量和成员函数(常成员函数) 在类中,如果你不希望某些数据被修改,可以使用const关键字加以限定。const 可以用来修饰成员变量和成员函数。 const成员变量 const 成员变量的用法和普通 const 变量的用法相似,只需要在声明时加上 const 关键字。初始化 const 成员变量只有一种方法,就是通过构造函数的初始化列表,这点在前面已经讲到了,请猛击《C++初始化列表》回顾。 const成员函数(常成员函数) const 成员函数...

[const] C++ const关键字需要注意的点【代码】

C++中 const 关键字使用场景 目录 C++中 const 关键字使用场景 C++ 类声明(待完善) const 成员函数 const 成员变量 返回值为const的成员函数 C++ const修饰函数参数 const修饰其他变量 const 全局变量C++ 类声明(待完善) const 成员函数 const成员函数相当于提醒编译器,这个函数不会修改类的成员变量 const 成员变量 const成员变量可以使用初始化列表的方式初始化(C++ 11开始) 返回值为const的成员函数 C++ const修饰函...

C++基础知识之类中const修饰的常函数【代码】

常函数 定义 ? 在函数的参数列表和函数体之间加使用const修饰的函数,这种叫做常函数,该const修饰的就是this指针。 特点 ? 不能在常函数内修改成员变量的值,普通类对象可以调用常函数,普通成员函数也可以调用常函数,但是常函数只能调用常函数。 ? 如果在常函数中真的修改某个成员的值,那么该成员需要用mutable修饰。 注意:常对象只能调用常函数,不能调用普通的成员函数。 #include <iostream> using namespace std;class Te...

C++学习笔记1-const前缀【代码】【图】

C++学习笔记1|const前缀、static前缀 1. 使用方法 const int a = 10;int const a = 10;这二者是等价的。 2. const的含义 const关键字是constant的缩写,意思是不变的。用const定义的变量,具有了常量的部分属性,但是其本质依然是变量。 上面两条语句都将变量a定义成了const类型的变量。当变量被定义成const类型后,最明显的一个特征就是不允许再对他进行赋值了,如果赋值,编译器会报错。 int main(void){const int a = 10;a = 2;...

C++进阶(二)四种类型转换(static_cast, const_cast, dynamic_cast, reinterpret_cast)【代码】【图】

C++进阶(二)四种类型转换(static_cast, const_cast, dynamic_cast, reinterpret_cast) static_cast 类型转换const_cast 类型转换reinterpret_cast 类型转换dynamic_cast 类型转换巨人的肩膀?? 在 C 语言中,如果要对类型进行转换,直接使用强制类型转换。这种转换使得表达式的精度有所损失,会出现一些未定义错误。这种强制转换方式有如下缺点: 任何类型都能进行强制转换,编译器很难判断其正确性在源码中,无法定位所有强制类...

【C++】C++ const关键字用法总结【代码】

C++ const 关键字用法总结 概述 const是constant的缩写,本意是不变的,不易改变的意思。在C++中是用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。 C++ const允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程的过程中有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。 const关键字的作用 1.const关键字定义常量 static const sf::Uint32 DI...

结构体指针中const的使用——C++【代码】

const使用后,结构体的内容不能被修改,防止误操作。 #include<iostream> #include<string>using namespace std;//定义学生结构体 struct Student {string name;int age;int score; };//将函数中的形参改为指针,可以节省内存空间。 //而且不会复制一个新的副本出来。 void PrintStuInfo1(const struct Student *p) {//p->age = 100; //加const后这句话就是错误的,p变成不可写的(不可修改了)//加const防止误操作std::cout << "n...

为什么c/c++面试老问我关键字const的问题难道我不会答吗【代码】

clude<iostream>//const 的本质是防止误操作 /* * 1.用const修饰函数的参数 * 2.用const修饰函数的返回值 * 3.const成员变量 * 4.const成员函数 * 5.const修饰指针 */using namespace std;//1.用const修饰函数的参数void myPrintf(const int num) {int a = 5;//num = 5; //报错//num = a; //报错const int b = 6; //定义const变量的时候必须赋初始值cout << num << endl; }// 2.用const修饰函数的返回值 //如果给以“指针传递...

C++错误:“const char *“ 类型的值不能用于初始化 “char *“ 类型的实体【代码】【图】

在VS2017中使用opencv编写C++程序时出现如下错误:报错代码如下: char* image_window = "Source Image";char* result_window = "Result window"; 查了查资料,可能的原因是在VS2017版本中使用这种char*的表达方式会造成程序崩溃,所以VS2017对其进行了控件管理。 解决方案:1、先将字符使用字符数组进行存储,再使用指针 char image[] = "Source Image";char result1[] = "Result window";char* image_window = image;char* resul...

c++ const 全面总结

C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。 Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用 如下表所示: No. 作用 说明 参考代码 1 可以定义const常量   const int Max = 100; 2 便于进行类型检查 const常量有数据类型,而...

标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast【图】

一、 强制转型 1) C 风格(C-style)强制转型: (T) exdivssion // cast exdivssion to be of type T 2) 函数风格(Function-style)强制转型使用这样的语法: T(exdivssion) // cast exdivssion to be of type T 上面两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪的问题,我们把这两种形式称为旧风格(old-style)的强制转型。 ?二、 C++类型转换 使用标准C++的类型转换符,主要有四种类型: static_cast、dyna...

【C++小知识】#define、enum、const的含义与用法

一、#define 含义define是宏定义,编译器不对其进行错误检查,在预编译阶段处理,没有作用域限制属于全局常量,在程序中编译器会对定义的常量名以数值进行替换,且每次替换都分配内存,此方法对于大量常量的情况下会占用较多内存从而导致程序效率。 用法一般用于全局型常量的定义,通常较少使用,在具有较少全局型常量(程序各处都可能用到该常量)时使用。 二、enum 含义enum是枚举常量定义,在编译阶段处理,有作用域限制。枚举...

CONST - 相关标签