C++学习
文章平均质量分 66
Mr_Lsz
该博客停更,不再维护。
展开
-
C++:const和指针
将const用于指针有一些很微妙的地方下面微妙来详细的说一下:将const关键字用于指针:有两种方法:第一种方法是让指针指向一个常量对象,这样可以防止用该指针修改所指向是值第二种方法是将指针本身声明为常量。这样可以防止改变指针所指向的位置,但是可以改变指针所指向对象的值。如:int age = 39;const int* pt = &age;该声明指出pt是指向一个cons原创 2016-01-28 20:36:16 · 742 阅读 · 0 评论 -
C++重载运算符(一)如何重载运算符
刚学C++的同学都老是听说什么运算符重载,好像很高级的样子,那么嘿嘿嘿。现在我们有一个时间类,我们要重载加减乘除运算符,以达到时间类之间的计算就跟数字加减乘除运算一样。首先我们先从最简单的来:时间类:然后函数实现:(我们在此只贴出构造函数和Sum函数的实现,因为其他的用不到)最后我们在主函数中定义CMyTime类来实现相加:操作完成后我们看输出:原创 2016-02-29 11:47:38 · 24604 阅读 · 2 评论 -
VS敲C++代码时遇到的Bug总结
IntelliSense: 后面有“::”的名称一定是类名或命名空间名说下我遇到的问题:我将类的声明放在VECOTR命名空间里namespace VECTOR{class CMyVector{};}然后我将类的定义放在了VECTOR命名空间里最后写成员函数的时候就报错了:IntelliSense: 后面有“::”的名称一定原创 2016-03-04 10:55:42 · 4627 阅读 · 0 评论 -
C++类的自动转换和强制转换详解和实现
首先说一下C++如何处理内置类型转换的: 分为三种情况:(1)如果要进行的转换之间是兼容的,C++自动将值转换为接收变量的类型:如: int count = 8.8; double time= 3; long day = 8;在C++看来这些都是合法的,因为他们表示的本质是一样的:数字,而且C++包含了用于进行转换的内置规则。然而可能会降原创 2016-03-08 11:37:12 · 6553 阅读 · 0 评论 -
深入浅出C++构造函数、析构函数、深浅拷贝的相关内容
构造函数简单来说有两种:默认构造函数和定义的构造函数,什么是定义的构造函数:定义的构造函数就是带有参数的函数,把它当成普通的函数看待也是可以的,不过它的本质是构造函数而不是普通函数,使用来对类对象进行初始化的。如:Stock::Stock(const std:: string &name){m_name = name;}这种构造函数的调用分为两种:1.显式调原创 2016-02-23 20:33:19 · 1044 阅读 · 0 评论 -
C++I/O输入输出
1.流和缓冲区:我们通常说的流,可以理解为从一个地方流向另一个地方。在C++中的I/O是指的输入/输出端口,那么I/O流就可以简单的理解为在外部设备和内存之间的数据流动。直白的讲,流实际上是一个字节序列,即:字节流。而C++程序把输入输出看做字节流,所以C++的输入输出是以字节流的形式实现的。输入时,程序从流中抽取字节;输出时,程序将字节插入到输出流中。简单说下:输入流:与输入设备(如原创 2016-04-19 21:28:50 · 3554 阅读 · 0 评论 -
c++虚函数实现机制及内存模型
前言大家都应该知道C++的精髓是虚函数吧? 虚函数带来的好处就是: 可以定义一个基类的指针, 其指向一个继承类, 当通过基类的指针去调用函数时, 可以在运行时决定该调用基类的函数还是继承类的函数. 虚函数是实现多态(动态绑定)/接口函数的基础. 可以说: 没有虚函数, C++将变得一无是处!既然是C++的精髓, 那么我们有必要了解一下她的实现方式吗? 有必要! 既然C++是从C语言转载 2017-03-30 16:35:18 · 1505 阅读 · 0 评论 -
C++:const和引用
上面一篇博客我们已经介绍了基本的const,对于这篇博客,我先说下引用是什么引用说白了就是为对象另外起了一个名字,引用类型引用另一种类型。定义方式: 将声明符写成&d的形式来定义引用类型其中d是声明的变量名,int size = 100;int &sum = size;要注意的是我们在引用的时候必须要给引用赋值,例如:int &size;这种方式是不可以的,在一般的初始原创 2016-01-28 18:24:50 · 5303 阅读 · 2 评论 -
C++:const限定符基本解析
相对于#define,C++有一种更好的方法来处理符号常量,就是使用const限定符来修改一个变量的声明和初始化例如:const int sum = 100;那么我们就可以在程序中使用sum,而不是100了,常量(如:sum)在初始化以后其值就固定了下来,编译器就不允许再修改其值。因为const限定了声明的定义。创建常量的通用格式:const type name = value;原创 2016-01-27 21:28:17 · 844 阅读 · 0 评论 -
非法嵌套注释错误
警告 1 warning C4138: 在注释外找到“*/” f:\vs项目\my_dream\my_dream\practice源.cpp 4 1 My_Dream错误 2 error C2065: “释”: 未声明的标识符 f:\vs项目\my_dream\my_dream\practice源.cpp 4 1 My_Dream错误 3 error C2059: 语法错误:“/” f:\原创 2016-01-16 19:27:58 · 955 阅读 · 0 评论 -
50国内外最优秀的C/C++源代码网站分享
C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。1、http://snippets.dzone.com/tag/c/ --数以千计的有用的C语言源代码片段2、http:转载 2016-03-21 19:28:41 · 8258 阅读 · 0 评论 -
C++climits中的符号常量
头文件climits中定义了符号常量来表示类型的限制。编译器厂商提供了climits头文件,该文件指出了变压器中的值,CHAR_BIT char的位数CHAR_MAX char的最大值CHAR_MIN char的最小值SCHAR_MAX signed char的最大值S原创 2016-01-22 20:57:25 · 1287 阅读 · 0 评论 -
C++整型字面值
整型字面值(常量)是显式的书写的常量如:222,333。和C相同,C++能够以三种不同的计数方式来书写整数,基数为10,基数为8(老式UNIX版本),基数为16(硬件黑客的最爱)。C++表示法:C++使用前一位(两)来标识数字常量的基数。如果第一位为1-9,则基数为10,因此93是以10为基数的。如果第一位是0,第二位为1-7,则基数是8.因此042的基数为8.他相当于十进制中的34.原创 2016-01-22 21:46:31 · 1433 阅读 · 0 评论 -
C++如何确定常量的类型
程序的声明将特定的整型变量是类型告诉了C++编译器,但是编译器如何知道常量的类型呢?原创 2016-01-23 14:07:20 · 3052 阅读 · 0 评论 -
C++:wchar_t 和C++新增类型:char16_t char32_t
wcha_t:wcha_t是初学C/C++的筒子们不经常用到的类型,首先说一下什么是wcha_t:wcha_t是C/C++的字符类型,是一种扩展的存储方式,主要用在国际化程序的实现中。wcha_t 存在的原因:char是八位字符类型,最多能包含256中字符,许多的外文字符集所包含的字符数目超过256个,char型不能表示。wcha_t数据大小:数据类型一般为16或者原创 2016-01-27 19:24:03 · 24665 阅读 · 8 评论 -
位、字节、字、KB、MB关系
闲着无聊来一发:位:即我们常说的bit,位是什么呢?位就是传说中提到的计算机中的最小数据单位:说白了就是0或者1;额,计算机内存中的存储都是01这两个东西。嗯,对,就是这样子。字节:英文单词:(byte),byte是存储空间的基本计量单位,那么问题来了,既然是存储空间的计量单位,它的存储性是什么样子呢,你只需记住这两句就ok了:1byte 存1个英文字母,2个byte存一个汉字,(原创 2016-01-27 19:58:16 · 11918 阅读 · 0 评论 -
C++基本内置类型详解
C++内置类型:C++定义了一套包括算术类型和空类型在内的基本数据类型。算数类型包括:字符型,整型,bool型,和浮点型。而至于空类型并没有确定的具体的值,只是用于某些特殊的场合。比如当函数运行完的时不反悔任何数值,此时就需要一个空类型老作为返回值、 一:算数类型的划分以及各类型所能表示的最大值或者表示范围 算数类型:分为整型和浮点型.C++算数常见的各个算数类型所能表示的原创 2016-01-16 19:05:52 · 7901 阅读 · 0 评论 -
C++运算符重载详解
为什么要对运算符进行重载:C++预定义中的运算符的操作对象只局限于基本的内置数据类型,但是对于我们自定义的类型(类)是没有办法操作的。但是大多时候我们需要对我们定义的类型进行类似的运算,这个时候就需要我们对这么运算符进行重新定义,赋予其新的功能,以满足自身的需求。C++运算符重载的实质:运算符重载的实质就是函数重载或函数多态。运算符重载是一种形式的C++多态。目的在于让人能够用同名的函原创 2016-03-02 20:45:08 · 155321 阅读 · 15 评论