C++学习基础系列
文章平均质量分 89
小郭起床写博客
喜欢做游戏,数据可视化,服务器
展开
-
C++ Vector数组初始化(一维,二维)
Vector数组快速声明与初始化一维以int类型为例子设置数组长度的默认初始vector<int> data(N);N为默认数组长度,默认初始值为0设置数组长度的给定值初始vector<int> data(N,value);N为默认数组长度value为初始值直接给定数据vector<int> data = {1,2,3,4,5};动态改...原创 2019-11-06 11:28:18 · 19652 阅读 · 2 评论 -
C++中set用法简介
C++中set用法简介setC++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据结构的时候,STL按照程序员的使用习惯,以成员函数方式提供的常用操作,如:插入、排序、删除、...原创 2019-10-28 10:31:48 · 428 阅读 · 0 评论 -
C++多继承的二义性
多继承可以看作是单继承的扩展。所谓多继承是指派生类具有多个基类,派生类与每个基类之间的关系仍可看作是一个单继承。 多继承下派生类的定义格式如下: class :,,… { }; 其中,,,…是三种继承方式:public、private、protected之一。例如:class A{…};class B转载 2012-12-19 15:57:56 · 451 阅读 · 0 评论 -
c++中的继承与打捞
继承的目的:实现代码重用。继承为软件的层次化开发提供了保证。一、继承方式三种继承方式:公有继承public(原封不动),保护继承protect(折中),私有继承private(化公为私)。无论派生列表中是什么访问标号,所有继承Base的类对Base中的成员具有相同的访问权限。派生标号将控制派生类的用户对从Base继承而来的成员的访问。举例如下:class A{转载 2012-12-22 18:38:22 · 407 阅读 · 0 评论 -
c++迭代器
1. 迭代器(iterator)是一中检查容器内元素并遍历元素的数据类型。(1) 每种容器类型都定义了自己的迭代器类型,如vector:vector::iterator iter;这条语句定义了一个名为iter的变量,它的数据类型是由vector定义的iterator类型。(2) 使用迭代器读取vector中的每一个元素:vector ivec(10,1);for(vector转载 2013-03-23 15:58:58 · 517 阅读 · 0 评论 -
C++:STL标准入门汇总
一、STL简介STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。 STL的代码从广义上讲分为三类:a转载 2013-04-08 15:03:13 · 626 阅读 · 0 评论 -
MFC clistctrl 使用总结
CListCtrl介绍列表控件可以看作是功能增强的ListBox,它提供了四种风格,而且可以同时显示一列的多中属性值。LVS_ICON ,LVS_SMALLICON ,LVS_LIST, LVS_REPORT 这四种风格决定控件的外观,同时只可以选择其中一种,分别对应:大图标显示,小图标显示,列表显示,详细报表显示。 一、常用函数1.创建BOOL Create( DWORD d转载 2013-09-04 15:11:58 · 930 阅读 · 0 评论 -
C++、JAVA与C#中的多态虚函数、纯虚函数(抽象函数)
面向对象之中,最重要的概念无外乎四个:封装、继承、抽象与多态。其他三个很好理解,但多态,总是一个不大不小容易模糊的问题。多态,定义为,不同对象调用同一方法的不同行为。具体的见代码,就会感觉很明晰:C++代码:[cpp] view plaincopy#include using namespace std; clas转载 2014-12-19 11:23:54 · 598 阅读 · 0 评论 -
C++指针与引用的区别详解
★ 相同点:1. 都是地址的概念;指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。★ 区别:1. 指针是一个实体,而引用仅是个别名;2. 引用使用时无需解引用(*),指针需要解引用;3. 引用只能在定义时被初始化一次,之后不可变;指针可变;引用“从一而终” ^_^4. 引用没有 const,指针有 const,const 的指针不可变;5. 引转载 2014-12-08 10:45:11 · 453 阅读 · 0 评论 -
Cube Mapping及其应用之一:天空盒的实现
(注:【D3D11游戏编程】学习笔记系列由CSDN作者BonChoix所写,转载请注明出处:http://blog.csdn.net/BonChoix,谢谢~) 这一节讨论有关纹理映射的进阶内容:Cube Mapping。 1. 简介 单从名字上,就大概可以看出点端倪了,翻译成中文为立方体映射,因此肯定跟立方体有关系。确实,Cu转载 2016-12-27 16:26:54 · 4252 阅读 · 0 评论 -
【VSCode】Windows下VSCode编译调试c/c++【更新】
版权声明:本文为博主原创文章,转载请注明出处。————————– 2017.06.10 更新————————-便携版已更新,点此获取便携版用于cpptools插件的配置文件更新 更新的launch.json// Available variables which can be used inside of strings.// ${workspaceRoot}:转载 2017-09-20 13:57:39 · 4356 阅读 · 0 评论 -
C++中指针和引用的区别
从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的(自始至终只能依附于同一个变量)。在C++中,指针和引用经常用于函数的参数传递,然而,指针传递参数转载 2012-12-19 10:30:52 · 283 阅读 · 0 评论 -
C++ 虚函数表解析(转载于haoel http://blog.csdn.net/haoel)
前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使转载 2012-12-19 16:12:28 · 410 阅读 · 0 评论 -
C++中变量的作用域与生命周期
全局变量作用域:全局作用域(全局变量只需在一个源文件中定义,就可以作用于所有的源文件。)生命周期:程序运行期一直存在引用方法:其他文件中要使用必须用extern 关键字声明要引用的全局变量。内存分布:全局数据区注意:如果在两个文件中都定义了相同名字的全局变量,连接出错:变量重定义例子://defime.cpp int g_iValue = 1; //main.cpp转载 2012-11-02 17:50:22 · 539 阅读 · 0 评论 -
c++中的virtual
Virtual是C++ OO机制中很重要的一个关键字。只要是学过C++的人都知道在类Base中加了Virtual关键字的函数就是虚拟函数(例如函数print),于是在Base的派生类Derived中就可以通过重写虚拟函数来实现对基类虚拟函数的覆盖。当基类Base的指针point指向派生类Derived的对象时,对point的print函数的调用实际上是调用了Derived的print函数而不是Ba转载 2012-12-05 21:01:47 · 572 阅读 · 0 评论 -
如何解决error C2664: “atof”: 不能将参数 1 从“std::string”转换为“const char *”
c_str c_str函数的返回值是const char*的,不能直接赋值给char*,所以就需要我们进行相应的操作转化,下面就是这一转化过程。 c++语言提供了两种字符串实现,其中较原始的一种只是字符串的c语言实现。与C语言的其他部分一样,它在c++的所有实现中可用,我们将这种实现提供的字符串对象,归为c-串,每个c-串char*类型的。 标准头文件包含操作c-串的转载 2012-12-06 10:27:22 · 14406 阅读 · 0 评论 -
静态联编和动态联编
转载自:http://blog.csdn.net/blucexi/article/details/1253265联编就是将模块或者函数合并在一起生成可执行代码的处理过程,同时对每个模块或者函数调用分配内存地址,并且对外部访问也分配正确的内存地址,它是计算机程序彼此关联的过程。按照联编所进行的阶段不同,可分为两种不同的联编方法:静态联编和动态联编。静态联编是指在编译阶段就将函数实现和函数调用转载 2012-12-23 10:52:04 · 357 阅读 · 0 评论 -
CArray的原理(数据的动态处理)
CArray 需要包含的头文件 CArray类支持与C arrays相似的数组,但是必要时可以动态压缩并扩展。数组索引从0开始。可以决定是固定数组上界还是允许当添加元素时扩展当前的边界。内存对上界是连续地分配空间,甚至一些元素可为空。 和C arrays一样,CArray索引元素的访问时间是不变的,与数组大小无关。 提示: 在转载 2012-12-12 20:31:46 · 1008 阅读 · 0 评论 -
C++中的文件读入
#include #include #include using namespace std;//输出空行void OutPutAnEmptyLine(){ cout}//读取方式: 逐词读取, 词之间用空格区分//read data from the file, Word By Word//when used in this manner, we转载 2012-12-06 16:01:39 · 1042 阅读 · 0 评论 -
C/C++语言void及void指针深层探索
1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。2.void的含义 void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。 void几乎只有“注释”和限制程序的作用,因为从来没转载 2012-12-29 21:25:47 · 363 阅读 · 0 评论 -
C++_友元函数
1、为什么要引入友元函数:在实现类之间数据共享时,减少系统开销,提高效率 具体来说:为了使其他类的成员函数直接访问该类的私有变量 即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数 优点:能够提高效率,表达简单、清晰 缺点:友元函数破环了封装机制,尽量不使用成员函数,除非不得已的情况下才使用友元函数。转载 2012-12-29 20:21:20 · 285 阅读 · 0 评论 -
C++_动态存储空间的分配和释放
使用new申请空间:特点: 1、没有名字,只能通过指针间接访问它们。 2、从堆中申请空间分类:变量: 语法:指针变量 = new 类型名; Delete 指针变量 举例:int *p;转载 2012-12-29 20:25:48 · 506 阅读 · 0 评论 -
在C++中子类继承和调用父类的构造函数方法
构造方法用来初始化类的对象,与父类的其它成员不同,它不能被子类继承(子类可以继承父类所有的成员变量和成员方法,但不继承父类的构造方法)。因此,在创建子类对象时,为了初始化从父类继承来的数据成员,系统需要调用其父类的构造方法。 如果没有显式的构造函数,编译器会给一个默认的构造函数,并且该默认的构造函数仅仅在没有显式地声明构造函数情况下创建。构造原则如下: 1. 如转载 2012-12-18 16:16:27 · 460 阅读 · 0 评论 -
C++中const的作用
const给人的第一印象就是定义常量。(1)const用于定义常量。 例如:const int N = 100;const int M = 200; 这样程序中只要用到 N、M 就分别代表为整型100、200,N、M 为一常量,在程序中不可改变。 但有人说他编程时从来不用const定义常量。我相信。但他是不懂得真正的编程艺术,用const定义常量不仅转载 2012-12-19 15:04:16 · 322 阅读 · 0 评论 -
C++之模版类的使用
有以下这样3个求加法的函数:int Add(int x,int y) { return x+y; } double Add(double x,double y) { return x+y; } long Add(long x,long y) { return x+y; }它们拥有同一个函数名,相同的函数体,却因为参数类型和返回值类型不转载 2012-11-02 16:22:17 · 462 阅读 · 0 评论