C++学习
文章平均质量分 84
家家的快乐空间
这个作者很懒,什么都没留下…
展开
-
C++ 模板与泛型编程(定义模板)学习笔记
C++ 模板与泛型编程基础原创 2022-06-05 15:48:28 · 677 阅读 · 3 评论 -
VSCode+MSYS2+Cmake搭配打造舒适的刷题IDE环境
VSCode+MSYS2+Cmake搭配打造舒适的刷题IDE环境安装VScode安装MSYS2添加环境变量配置msys2环境配置VSCode安装VScode下载安装包,直接安装,简单。安装MSYS2官网下载安装包中国大陆地区去清华镜像下载安装包和配置软件源:MSYS2 镜像使用帮助添加环境变量在控制面板搜索环境变量根据自己的安装路径修改E:\msys64E:\msys64\mingw64\bin配置msys2环境打开msys2终端pacman -Syupacman -S原创 2022-03-17 13:04:49 · 2943 阅读 · 0 评论 -
XML DOM 节点树(笔记)
XML DOM 节点树XML DOM 把 XML 文档视为一种树结构。这种树结构被称为节点树。可通过这棵树访问所有节点。可以修改或删除它们的内容,也可以创建新的元素。这颗节点树展示了节点的集合,以及它们之间的联系。这棵树从根节点开始,然后在树的最低层级向文本节点长出枝条:<!-- Copyright w3school.com.cn --><!-- W3School.com.cn bookstore example --><bookstore>&l原创 2021-04-30 10:04:11 · 568 阅读 · 0 评论 -
C++ 定义基类和派生类
定义基类和派生类定义基类class Quote{ public: Quote() = default; Quote(const string &book, double sales_price): bookNo(book), price(sales_price) {} string isbn() const { return bookNo; } // 返回给定数量的书籍的销售总额原创 2021-05-25 20:14:00 · 2098 阅读 · 0 评论 -
C++ 学习笔记(针对一些容易忽略的知识点)
C++的函数特殊用途语言特性默认实参为了使得所定义的函数既能接纳默认值,也能接受用户指定的值,我们把它定义成如下的形式:string screen(int ht = 24, int wid = 80, char backgrnd = ' ');一旦某个形参被赋予了默认值,它后面的所有形参都必须有默认值。使用默认实参调用函数函数调用时实参按其位置解析,因此只能省略尾部的实参。string window;window = screen();window = screen(66);wind原创 2021-05-22 15:00:21 · 98 阅读 · 0 评论 -
C++ 动态内存 学习笔记
C++ 动态内存 学习笔记(一)在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。堆:就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。自由存储区:就是那些原创 2021-05-17 17:29:06 · 154 阅读 · 0 评论 -
C++ 关联容器和无序容器 学习笔记
关联容器使用关联容器使用map#include "iostream"#include "map"using namespace std;int main(){ // 统计每个单词在输入中出现的次数 map<string, size_t> word_count; string word; int i = 0; while(i<3) { cin >> word; ++word_co原创 2021-05-15 21:31:56 · 245 阅读 · 0 评论 -
C++ 泛型算法学习笔记
C++ 泛型算法学习笔记(一)关键概念:泛型算法永远不会执行容器的操作算法可能改变容器中保存的元素的值,也可能在容器内移动元素,但永远不会直接改变容器的大小。初识泛型算法只读算法求和算法accumulate()// 对vec中的元素求和,和的初值设为0// 前提是容器元素的类型有定义+运算符int sum = accumulate(vec.cbegin(), vec.cend(), 0);比较算法equal()// 要求:roster2中的元素数目应该至少与roster1一原创 2021-05-13 21:01:37 · 237 阅读 · 0 评论 -
Python调用C++
Python 调用C++动态链接库需要extern "C"来辅助,也就是说Python只能调用C,不能直接调用C++.如:#include <iostream> using namespace std; class TestLib { public: void display(); void display(int a); }; void TestLib::display() { cout<<"First displ.原创 2021-05-10 22:47:53 · 1564 阅读 · 0 评论 -
C++全局参数重复定义
今天写程序的时候打算将所有要用到的参数放到一个parameter.hpp的参数文件中,然后其他文件include即可,例如:#include <iostream>#include <string>#include <cmath>using namespace std;#define rad2deg 180.0/M_PI#define deg2rad M_PI/180.0namespace livox_loam_calibration {typede原创 2021-05-10 22:46:32 · 661 阅读 · 0 评论 -
C++ 顺序容器学习笔记(二)
顺序容器操作向顺序容器添加元素在一个vector或string的尾部之外的任何位置,或是一个deque的首尾之外的任何位置添加元素,都需要移动元素。而且,向一个vector或string添加元素可能引起整个对象存储空间的重新分配。重新分配一个对象的存储空间需要分配新的内存,并将元素从旧的空间移动到新的空间中使用push_back对push_back的调用时在容器尾部创建一个新的元素,将容器的size增大了1。关键概念:容器元素时拷贝容器中的元素与提供值得对象之间没有任何关联。随后对容器中元素原创 2021-05-09 20:12:50 · 735 阅读 · 0 评论 -
C++ 顺序容器学习笔记(一)
容器类型与选择所有顺序容器都提供了快速顺序访问元素的能力。但是它们的应用有各自优缺点:像容器添加或从容器中删除元素的代价像顺序访问容器中元素的代价注:array的长度是固定的在实际应用时选择容器的基本原则:通常,使用vector是最好的选择,除非有特殊需求如果程序中有很多小的元素,且空间的额外开销很重要,则不要使用list或forward_list如果程序要求随机访问元素,应使用vector或deque如果程序要求在容器的中间插入或删除元素,应该使用list或forward_lis原创 2021-05-08 19:51:24 · 158 阅读 · 0 评论