c++
荆黎明
这个作者很懒,什么都没留下…
展开
-
顺序容器: 内存管理(shrink_to_fit、capacity、reserve)
函数功能c.shrink_to_fit()将capacity()减少为与size()相同大小c.capacity()不重新分配内存空间的话,c可以保存多少元素c.reverse()分配至少能容纳n个元素的内存空间c.resize(n) , c.resize(n, t)调整c的大小为n个元素。若n<c.size(),则多出的元素被丢弃reserve并不改变容器中元素的数量,它仅影响vector预先分配多大的内存空间只有当需要的内存空间超过当前容...原创 2021-12-08 08:50:00 · 1266 阅读 · 0 评论 -
cv::Mat::release (this=0x55555641e368) at /usr/include/opencv2/core/mat.inl.hpp:708
原创 2021-09-04 16:10:20 · 448 阅读 · 0 评论 -
命名空间出现重复名字的问题myslam::myslam::AddFrame()
在我的程序中是因为命名空间少写了一个括号,导致出现了这个问题原创 2021-07-16 10:24:56 · 158 阅读 · 0 评论 -
互斥锁:数据共享
代码程序#include <iostream>#include <mutex>#include <list>#include <thread>using namespace std;#define THREAD_BY_CLASS//#define TRREAD_BY_FUNCTION#define MUTEX#ifdef MUTEXstd::mutex MyMutex;#endifstd::list<int> m原创 2021-03-27 11:48:53 · 86 阅读 · 0 评论 -
TSP问题(换位表达,启发式交叉,启发式变异)C++实现
旅行商问题一 染色体表达方式染色体的表达方式采用换位表达,它是TSP巡回的最自然的表达,如下图:它的访问顺序为 3-2-5-4-7-1-6-9-8,染色体中基因的值表示城市,基因的顺序表示访问城市的顺序,这种表达的搜索空间是澄海市顺序“换位”的集合,采用传统的单点交叉时,可能导致非法的巡回。二 染色体交叉本课题中的染色体交叉使用的是启发式交叉,启发式交叉的步骤如下(最近邻点法):步骤1:从一对双亲中随机地选取一个城市最为开始城市,步骤2:由当前城市出发,选择一条不构成循环的最短边(由双亲表达的原创 2020-11-20 16:34:56 · 1467 阅读 · 0 评论 -
使用C++实现n个数全排列
经过苦思冥想终于在一天的时间内搞了出来,由于没有学习过算法,使得苦逼的自己经历了一番磨难。实际上主要原因是对递归没有深入了解,现在把程序粘贴在这里,方便自己随时查看,也希望能够帮助其他人。#include <iostream>#include <vector>using namespace std;void perm(vector<int> &vi, vector<int>::iterator begin, vector<i原创 2020-10-16 16:31:13 · 2043 阅读 · 0 评论 -
笔记2 Effective C++
知识点 mutableclass CTextBlock {public: ... std::size_t length() const;private: char* pText; std::size_t textLengeh; //最近一次计算的文本区块长度 bool lengthIsValid; // 目前的长度是否有效};std::size_t CTextBlock::length() const{ if (!lengthIsValid) { textLengeh原创 2020-08-20 08:39:45 · 87 阅读 · 0 评论 -
笔记1 Effective C++
知识点1copy构造函数和copy assignment操作符函数copy构造函数被用来“以同型对象初始化自我对象”,copy assignment操作符被用来“从另一个同型对象中拷贝其值到自我对象”#ifndef _WIDGET_H_#define _WIDGET_H_class Widget {private: int a; double b;public: Widget(); // default构造函数 Widget(const Widget& rh原创 2020-07-23 23:19:11 · 130 阅读 · 0 评论 -
第十一章 编程练习 (C++ Primer Plus)
1.修改程序清单11.5,使之将一系列连续的随机漫步者位置写入到文件中。对于每个位置,用步号进行标示。另外,让该程序将初始条件(目标距离和步长)以及结果小结写入到该文件中。该文件的内容与下面类似:Target Distance: 100, Step Size: 200:(x,y)=(0,0)1:(x,y)=(-11.4715,16.383)2:(x,y)=(-8.68807,-3.4223...原创 2020-06-28 11:00:50 · 393 阅读 · 0 评论 -
第十章 编程练习 (C++ Primer Plus)
1.为复习题5描述的类提供方法定义,并编写一个小程序来演示所有的特性。#include <iostream>#include <cstring>using namespace std;class Account{ static const int ArrSize = 11; private: std::string name; std::string ...原创 2020-04-23 11:57:53 · 511 阅读 · 0 评论 -
第九章 编程练习 (C++ Primer Plus)
1、下面是一个头文件// golf.h -- for pe9-1.cppconst int Len = 40;struct golf{ char fullname[Len]; int handicap;};//non-interactive version;// function sets golf structure to provided name, handicap//...原创 2020-04-20 20:11:26 · 244 阅读 · 0 评论 -
第八章 编程练习 (C++ Primer Plus)
1.编写通常接受一个参数(字符串的地址),并打印该字符串的函数。然而,如果提供了第二个参数(int类型),且该参数不为0,则该函数打印字符串的次数将为该函数被调用的次数(注意,字符串的打印次数不等于第二个参数的值,而等于函数被调用的次数).是的,这是一个非常可笑的函数,但它让您能够使用本章介绍的一些技术。在一个简单的程序中使用该函数,以演示该函数是如何工作的。#include <iostr...原创 2020-04-16 18:14:00 · 282 阅读 · 0 评论 -
第七章 编程练习 (C++ Primer Plus)
1.编写一个程序,不断要求用户输入两个数,直到其中的一个为0.对于每两个数,程序将使用一个函数来计算它们的调和平均数,并将结果返回给main(),而后者将报告结果。调和平均数指的是倒数平均值的倒数,计算公式如下:调和平均数=2.0xy/(x+y)#include <iostream>double CalTiaoHe(double,double);int main(){ ...原创 2020-04-15 20:37:04 · 578 阅读 · 0 评论 -
第六章 编程练习 (C++ Primer Plus)
1、编写一个程序,读取键盘输入,直到遇到@符号为止,并回显输入(数字除外),同时将大写字符转换为小写,将小写字符转换为大写(别忘了 cctype函数系列)。#include <iostream>#include <cctype>int main(){ using std::cout; using std::cin; using std::endl; c...原创 2020-04-13 20:51:15 · 393 阅读 · 1 评论 -
第五章 编程练习(C++ Primer Plus)
1.编写一个要求用户输入两个整数的程序。该程序将计算并输出这两个整数之间(包括这两个整数)所有整数的和。这里假设先输入较小的整数。例如,如果用户输入的是2和9,则程序将指出2~9之间所有整数的和为44。#include <iostream>int main(){ using namespace std; cout << "请输入两个整数"<<endl...原创 2020-04-11 15:59:56 · 660 阅读 · 0 评论 -
第四章 编程练习(C++ Primer Plus)
1.编写一个C++程序,如下述输出示例所示的那样请求并显示信息:What is your first name? Betty SueWhat is your last name? YeweWhat letter grade do you deserve? Bwhat is your age? 22Name: Yewe, Betty sueGrade: CAge: 22注意,该程序应...原创 2020-04-10 18:01:19 · 289 阅读 · 0 评论 -
第三章 编程练习(C++ Primer Plus)
编写一个小程序,要求用户使用一个整数指出自己的身高(单位为英寸),然后将身高转化为英尺和英寸。该程序使用下划线字符来指示输入位置。另外,使用一个const符号常量来表示转换因子。1英尺(ft)= 12英寸(in)#include <iostream>using std::cout;using std::cin;using std::endl;const int Fo...原创 2020-04-09 21:05:35 · 259 阅读 · 0 评论 -
第二章 编程练习(C++ Primer Plus)
1.编写一个C++程序,它显示您的姓名和地址。#include<iostream>int main(){ using namespace std; cout << "姓名:荆黎明"<< endl; cout << "地址:河南省武陟县嘉应观乡XXX村" << endl; return 0; } 2.编写一个C++程...原创 2020-04-09 15:15:54 · 179 阅读 · 0 评论 -
C++ primer plus复习
第三章 处理数据强制类型转换的通用格式(typename)value 该方法来自c语言;typename (value) 该方法纯碎的C++,该想法是要让强制类型转换就像是函数调用;static_cast <typename> (value)可用将一种数值类型转换成为另外一种数值类型;auto声明在初始化声明中,如果使用关键字auto,而不指定变量的类型,编译器将...原创 2020-03-27 12:01:35 · 490 阅读 · 0 评论