【c++学习笔记】
文章平均质量分 86
virgofarm
这个作者很懒,什么都没留下…
展开
-
【c++学习笔记】输入输出
输入输出在c++当中,也可以使用c语言中的输入输出接口,向printf、scanf等,但更多的是使用c++专有的接口。#include <iostream> using namespace std; int main(){ int a = 10; char b = 'c'; char arr[] = "abcdef"; cout &...原创 2018-06-12 11:35:02 · 126 阅读 · 0 评论 -
【c++学习笔记】深入解析浅拷贝与深拷贝
什么是浅拷贝也称位拷贝,编译器只是将对象中的值拷贝过来,如果对象中管理资源,最后就会导致多个对象共享同一份资源,当一个对象销毁时就会将该资源释放掉,而此时另一些对象不知道该资源已经被释放,以为还有效,所以当继续对资源进行操作时,就会发生发生了访问违规。先看下面的代码有问题吗...原创 2018-06-25 18:07:20 · 157 阅读 · 0 评论 -
【c++学习笔记】继承
什么是继承?继承是面向对象程序设计使代码可以复用的重要手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能。继承的格式:实例:#include <iostream>using namespace std;class Base{public: void TestFunc() { cout << &原创 2018-07-02 16:27:00 · 193 阅读 · 0 评论 -
【c++学习笔记】多态
多态到底是什么呢?字面意思就是同种事物在不同的场景下所表现出不同的形态。 在c++当中,多态分类如下: 在学习多态之前,我们必须得先了解虚函数的概念。虚函数就是在类的成员函数(除构造函数、拷贝构造函数、静态成员函数)前加virtual关键字。静态多态在这里不过多介绍,动态多态的含义:如果基类的指针/引用指向/引用基类的对象,...原创 2018-07-05 16:50:39 · 280 阅读 · 0 评论 -
C++中STL常见容器具体用法(转其他博客)
stringC++ string的用法和例子 标准C++中的string类的用法总结vectorc++中vector的用法详解setC++中set用法详解listC++ List的用法(整理)mapC++ Map常见用法说明 ...转载 2018-07-20 15:07:06 · 447 阅读 · 1 评论 -
C++中判断类型是否为内置类型
#include <iostream>#include <string>using namespace std;struct FalseType{ static bool Get() { return false; }};struct TrueType{ static bool Get() { ...原创 2018-07-21 13:11:34 · 1461 阅读 · 0 评论 -
简单实现C++库中的String类
#include <iostream>#include <string.h>#pragma warning(disable: 4996)using namespace std;class String{ friend ostream& operator<<(ostream& os, String& str);pub...原创 2018-07-21 14:01:51 · 212 阅读 · 0 评论 -
【C++学习笔记】详解C++中的三种智能指针
一、简介由于 C++ 语言没有垃圾回收机制,程序员每次 new出来的内存都要手动 delete。程序员忘记 delete,有可能就会造成内存泄漏,程序崩溃等严重的后果。用智能指针便可以有效缓解这类问题,本文主要讲解常见的智能指针的用法。包括:std::auto_ptr、boost::scoped_ptr、boost::shared_ptr、boost::weak_ptr。二、具体使...原创 2018-08-06 13:59:32 · 855 阅读 · 1 评论 -
C++11新增特性
https://blog.csdn.net/jiange_zh/article/details/79356417转载 2018-12-25 15:23:11 · 163 阅读 · 0 评论 -
【c++学习笔记】宏函数与内联函数的区别
什么是宏?宏定义又称为宏代换、宏替换,简称“宏”。是C提供的三种预处理功能的其中一种。宏定义分类1. 不带参数的宏定义:格式: #define 标识符 字符串其中的标识符就是所谓的符号常量,也称为“宏名”。预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。 例: #define PI 3.1415926 把程序中出现的PI全部换成3.14159262...原创 2018-06-24 17:58:01 · 259 阅读 · 0 评论 -
【c++学习笔记】深度解析new/delete以及new[]/delete[]
在 C++ 中,你也许经常使用 new 和 delete 来动态申请和释放内存,但你可曾想过以下问题呢?new 和 delete 是函数吗?new [] 和 delete [] 又是什么?什么时候用它们?你知道 operator new 和 operator delete 吗?为什么 new [] 出来的数组有时可以用 delete 释放有时又不行?…new 和 delet...原创 2018-06-23 16:45:58 · 357 阅读 · 2 评论 -
【c++学习笔记】this指针
一:this指针是什么?在上一篇博客当中介绍了c++中类的概念,类中可以定义成员函数,但是在类的对象模型中,并不是按照我们想的那样,类的实例对象中包含成员变量和成员函数,或者指向成员函数的指针,而是只保存非静态成员变量,那么不妨想想下面的代码:#include &lt;iostream&gt;using namespace std;class Date{public: ...原创 2018-06-15 16:32:16 · 170 阅读 · 0 评论 -
【c++学习笔记】缺省参数与函数重载
缺省参数1.c语言与c++在对函数参数检测时的区别首先可以创建一个c工程,测试以下代码:void func(){ return;}int main(){ func(); func(10); func(10, 20); func('c');}可以发现在c语言中,函数没有指定参数列表时,默认可以接收任意多个参数,但在c++当...原创 2018-06-12 12:11:09 · 212 阅读 · 0 评论 -
【c++学习笔记】引用
引用1.基本概念引用不是定义一个变量,而是给已经存在的变量取了一个别名(就像我的名字叫J,别人给我起了一个外号“二狗”,当别人叫“J”或者“二狗”我都知道是在叫我),编译器不会为引用变量开辟内存空间他和他引用的变量共用一块内存空间。类型& 引用变量名(对象名) = 引用实体; 定义引用int main(){ int a = 10; int& ...原创 2018-06-12 16:10:09 · 178 阅读 · 0 评论 -
【c++学习笔记】命名空间
命名空间1.基本概念:在c++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局命名空间中,会导致很多冲突,使用命名空间的目的是对标识符的名称进程本地化,以避免命名冲突或名字污染,namespace关键字就是为了解决这种问题。一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。没有名称的命名空间,他的成员只能在声明该命名空间的文件中可以...原创 2018-06-12 16:54:44 · 159 阅读 · 0 评论 -
【c++学习笔记】类的六个默认的成员函数
一:构造函数1.基本概念构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时,由编译器自动调用,在对象的生命周期内只调用一次,保证每个数据成员都有一个合适的初始值。class Date{public: Date(int year, int month, int day) :_year(year)//初始化列表,可以不用 , ...原创 2018-06-20 18:40:54 · 217 阅读 · 0 评论 -
【c++学习笔记】类
类一.基本概念在c语言中,结构体就是将相同或不同属性的类型数据放在一起,而里面并不能定义函数,但是在c++当中,结构体里面不仅可以定义不同类型的数据,还可以定义用来操作这些数据的方法(函数),在c++当中更喜欢用class来代替struct定义结构体。 **注:**class定义的结构体,成员默认是private;struct定义的结构体,成员默认是publicstruct ...原创 2018-06-13 09:48:40 · 229 阅读 · 0 评论 -
带你玩转Visual Studio——调用约定__cdecl、__stdcall和__fastcall
有一定C++开发经验的人一定对”__cdecl、__stdcall、__fastcall”肯定不陌生吧!但你真正理解了吗?是的,我曾在这采了无数个坑,栽了无数个跟头,终于忍无可忍要把它总结一下(虽然我已经有能力解决大部分这种问题了)!什么是调用约定 函数的调用约定,顾名思义就是对函数调用的一个约束和规定...转载 2018-06-15 15:39:39 · 229 阅读 · 0 评论 -
【c++学习笔记】c语言中的const和c++中const的区别
区别一:C语言的const是定义了一个const变量,该变量只具备读的功能,而不具备写的功能。 C++的const是定义了一个常量。int main(){ const int a = 10; int arr[a];//在c++中,因为a已经是常量,但在c中仍是变量,会报错}再看下面的代码#include &amp;lt;stdio.h&amp;gt;//c...原创 2018-06-23 14:35:02 · 243 阅读 · 0 评论 -
C++中的四种强制类型转换
一、dynamic_case用法: dynamic_cast < type-id > ( expression )条件: Type-id必须是类的指针、类的引用或者void *。如果type-id是类指针类型,那么expression也必须是一个指针,如果type-id是一个引用,那么expression也必须是一个引用。作用:用于类层次间的上行转换和下行转换说明:在类层...原创 2019-07-25 19:38:36 · 332 阅读 · 0 评论