【C++学习笔记】教程文章相关的互联网学习教程文章

C++面向对象程序设计学习笔记(10)【代码】

vector list queue stack deque priority_queue vector 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。 定义一般形式 vector<数据类型>定义名字 头文件 #include <vector> 操作 1.push_back 在数组的最后添加一个数据 2.pop_back 去掉数组的最后一个数据 3.at 得到编号位置的数据 4.begin ...

C++面向对象程序设计学习笔记(7)【代码】

模板与异常处理 模板的概念 模板是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型作为参数。 模板分为函数模板和类模板,它们分别允许用户构造模板类和模板函数 函数模板与模板函数 函数模板实际上建立一个通用函数,其函数返回类型和形参类型不具体指定,用一个虚拟的类型来代表,这个通用函数就称为函数模板。 在调用函数时系统会根据实参的类型(模板实参)来取代模板中的虚拟类型从而实现了不同函数的功能。 声明...

C++面向对象程序设计学习笔记(6)【代码】

多态性 编译时的多态性与运行时的多态性 在面向对象方法中,所谓多态性就是不同对象收到相同信息时,产生不同的行为。在c++程序设计中,即“一个接口,多种方法” 在C++中,多态性的实现和联编这一概念相关,一个源程序经过编译、连接,称为可执行文件的过程即为把可执行代码联编在一起的过程。其中在运行前完成的称为静态联编,又称前期联编,而在运行时完成的称为动态联编,也称后期联编 静态联编支持的多态性称为编译时多态性,...

C++面向对象程序设计学习笔记(5)【代码】

派生类与继承 概念 继承允许编程者在已有类的基础上创建新的类,可以从一个或者多个已有类中继承函数和数据,并重新定义或者添加新的函数和数据,已有类称为基类或父类,新类称为派生类和子类。 声明 声明一个派生类的一般格式为: class 派生类名 : [继承方式] 基类名 {派生类新增的数据成员和成员函数 }; 继承方式种类有 private, public ,protected ,分别为私有、公有和保护继承 若不显式地给出关键字,则默认为私有 构成 构造...

C++ multiset 学习笔记

https://www.luogu.org/blog/yu123123/Templet set和multiset会根据特定的排序原则将元素排序。两者不同之处在于,multisets允许元素重复,而set不允许重复。 基本的操作函数: 1.Basics 创建一个set/multiset: 这里以multiset为例子: multiset<int> s; 创建一个int类的multiset s.max_size()返回最多容纳的元素个数 s.size()当前容器中的元素个数 s.empty()判断容器是否为空 2.特殊的搜索函数 multiset <int,greater<int> > s;创...

C++并发与多线程学习笔记--参数传递详解

传递临时对象陷阱 总结临时对象作为线程参数线程id的概念 临时对象构造时的抓捕传递类对象、智能指针 成员函数指针做线程函数传递临时对象作为线程参数 创建的工作线程不止一个,线程根据编号来确定工作内容。每个线程都需要知道自己的编号。线程中有很多容易犯错的写法 例子1 多线程需要执行的函数:void my_print(const int &i, char* p_mybuff) {cout << i << endl;cout << p_mybuff << endl;return ; }主函数的写法 int mvar =...

c++多态学习笔记【代码】【图】

多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphism),字面意思多种形状。  C++多态性是通过虚函数来实现的,虚函数允许子类重新定义成员函数,而子类重新定义父类的做法称为覆盖(override),或者称为重写。(这里我觉得要补充,重写的话可以有两种,直接重写成员函数和重写虚函数,只有重写了虚函数的才能算作是体现了C++多态性)而重载则是允许...

C++学习笔记34:用指针访问数组元素和指针数组【代码】

指针访问数组元素 指针的运算本身就是适合对连续的数据进行处理,而数组正好满足这一要求。所以这一节研究如何使用指针访问数组元素。 首先我们举个例子 int a[10],*p;//定义一个数组和一个指针变量p p=a;//或者p=&a[0];这两句话的意思都是将数组a的首地址赋值给p等效形式 *p就是a[0],是寻址运算符,就是找到p变量中保存的地址里面的内容,即数组a的第一个元素。 同理(p+i)就是找到对应数组中的第i个元素a[i]。 与此同时 *(a+i)和p...

ROS学习笔记10-写一个简单的订阅者和发布者(C++版本)【代码】

本文档来源于:http://wiki.ros.org/ROS/Tutorials/WritingPublisherSubscriber%28c%2B%2B%29写发布者节点如前所述,节点是连接到ROS网络的一个可执行程序,在该例中,写一个节点名为Talker,该节点对外不断发布消息。先转到包路径:roscd begginner_tutorials 先创建一个src目录用于存放源代码:mkdir -p src 然后在其中创建一个talker.cpp源文件,并将如下内容粘贴其中(代码解读见其中的中文注释)。 /** Copyright (C) 2008, ...

ROS学习笔记11-写一个简单的服务和客户端(C++版本)【图】

本文主要来源于:http://wiki.ros.org/ROS/Tutorials/WritingServiceClient%28c%2B%2B%29写一个服务节点。在创建消息和服务中,我们创建了一个消息AddTwoInts.srv,为实现节点功能,我们还需要编写相应代码。 代码在beginner_tutorials包中创建add_two_ints_server.cpp,并输入如下内容(中文注释即为说明):#include "ros/ros.h" #include "beginner_tutorials/AddTwoInts.h"//服务头文件 bool add(beginner_tutorials::AddTwoIn...

C++学习笔记-一

1.1 编写一个简单的C++程序1.2 初识输入输出iostream库 包含 istream 和 ostream两个基础类型,分别表示输入流和输出流。流:随着时间的推移,字符式顺序生成或消耗的。 标准输入输出对象标准库定义了4个I/O对象。cin 标准输入cout 标准输出cerr 标准错误 输出警告和错误消息clog 输出程序运行时的一般性消息 向流写入数据输出运算符(<<)能接受两个运算对象,左侧是 一个ostream对象,右侧对象是 要打印的值。 从流...

C++学习笔记(三)类与对象【图】

面相对象的方法的目的:解决软件产业化问题 对象之间通过消息来通讯 抽象(数据抽象<int Hour>、代码抽象<SetTime( )>)—具体 类可以实现数据的封装、隐蔽、继承和派生 类包含:属性和行为 对象是类的实体 内联成员函数 关键词inline/直接在class内实现适用于功能较为简单的成员函数 示例如下↓ Class A { Public: int GetElemtX () {return x;} } Inline int A :: GetElemtY() { return y; } 初始化 ≠ 赋值 ...

C++ primer plus学习-学习笔记-第三章处理数据-数值范围【图】

// limits.cpp -- some integer limits // 主要是了解int short long对应的不同数值 #include <iostream> #include <climits> // use limits.h for older systems int main() {using namespace std;int n_int = INT_MAX; // initialize n_int to max int valueshort n_short = SHRT_MAX; // symbols defined in climits filelong n_long = LONG_MAX;long long n_llong = LLONG_MAX;// sizeof operator yield...

C/C++学习笔记一

每一个C/C++程序中包含两个文件,一个用于保护程序的声明(declaration)叫头文件,一个用于程序的功能的实现叫定义文件。C/C++程序的头文件后缀都以(XXX.h),对于源文件来说C中后缀(XXX.c),C++中的源文件后缀(XXX.cpp)。 1、头文件的结构分三部分组成 (1)版本版权的声明; (2)预处理块; (3)函数和类结构的声明。 『建议』:不提倡使用全局变量,尽量不要在头文件中出现象extern int value 这类声明。 例子: 在#include...

getline()与get()(c++学习笔记)

istream中的类(如cin)提供了一些面向行的类成员函数:getline()和get() 1.getline()函数 读取整行,使用回车键输入的换行符来确定输入结尾。 调用方法:cin.getline(参数1,参数2) 该函数有两个参数,第一个参数是用来存储输入行的数组的名称,第二个参数是要读取的字符数,如果这个参数为20,则函数最多读取19个字符,余下的空间用于存储自动在结尾处添加的空字符。 getline()成员函数在读取指定数目的字符或遇到换行符时停止读...

学习笔记 - 相关标签