
C++
ylh1234
这个作者很懒,什么都没留下…
展开
-
一条线上按距离找点的qt绘图
QLineF t_line1;t_line1.setP1(m_data[preIndex+1]);t_line1.setP2(m_data[preIndex]);t_line1.setLength(curPreLength - prePointLocation);prePointPos=t_line1.p2();原创 2016-07-30 11:40:52 · 493 阅读 · 0 评论 -
C++计算运行时间和随机数的插入排序
#include#include#include using namespace std;void InsertionSort (int a[],int len){if (a==NULL||len{return ;}for(int j=1;j{int temp=a[j];int p=j;while(p>原创 2017-03-15 17:08:44 · 769 阅读 · 0 评论 -
三维点比较大小
const float EPS = 1e-6;// 定义点结构体typedef struct{float x, y, z;// 起源点序号int ori_idx;// 原始序号int self_idx;} P;bool cmp(P p1, P p2){if (abs(p1.x-p2.x) > EPS){return p1.x }els原创 2017-05-11 16:47:55 · 473 阅读 · 0 评论 -
C++类静态成员与类静态成员函数详解
转载链接http://www.jb51.net/article/41775.htm静态成员不可在类体内进行赋值,因为它是被所有该类的对象所共享的。你在一个对象里给它赋值,其他对象里的该成员也会发生变化。为了避免混乱,所以不可在类体内进行赋值。当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类中每一个普通数转载 2017-05-26 10:24:33 · 236 阅读 · 0 评论 -
C++虚函数和纯虚函数示例
抽象类是为了抽象和设计的目的而建立的,处于继承层次结构的上层。具体类是能够建立对象的类。抽象类的规定(1)抽象类只能用作其他类的基类,不能建立抽象类对象。(2)抽象类不能用作参数类型、函数返回类型或显式转换的类型。(3)可以定义指向抽象类的指针和引用,此指针可以指向它的派生类,进而实现多态性。#include using n转载 2017-07-12 19:26:51 · 484 阅读 · 0 评论 -
c++不使用循环打印1到100
C/C++ | 如何不使用循环和判断语句实现“打印从1到100之间的数字”原文链接:http://www.keepsimply.org/2012/08/11/printing-1-to-1000-without-loop-or-conditionals/声明:翻译仅以技术学习和交流为目的,如需转载请务必标明原帖链接。来源:http://stackoverflow转载 2017-08-08 10:37:57 · 2302 阅读 · 0 评论 -
经典字典树求异或最大值
给出n个数,求在这n个数中取两个数使得他们异或最大解题思路非常经典利用字典树求异或的最大值。 读懂这个题目之后,对于初学者我们可能会思考下面的问题: 1. 两层循环o(n^2)肯定能求出了,但是肯定会超时 2. 这道题怎么做呢? 3. 思考一阵(在不知道用什么算法的情况下),会不会用把每个数转换为二进制,然后按位进行比对 4. 就算转换为二进制之后,怎么进行按个转载 2017-08-08 17:19:02 · 948 阅读 · 0 评论 -
Matlab投影仿真及三维曲面重构实现及演示程序
已下载成功。坑转载 2017-08-04 23:20:15 · 3048 阅读 · 1 评论 -
c++虚函数表详解
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过转载 2017-08-26 15:00:58 · 367 阅读 · 0 评论 -
读取二进制文件到txt,包括大小端转换
不多说,直接上代码#include#include#include#include #include #includeusing namespace std;#define L 101 #define M 102 #define N 103void OnChange(float InParam, float &OutPar原创 2017-12-14 11:06:21 · 1851 阅读 · 0 评论 -
C++中的vector
在c++中,vector是一个十分有用的容器。作用:它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。vector在C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。 特别注意:使用vector需要注意以下几点:1、如果你要表示的向量长度较长(需要为向量内部保存很多数),...转载 2018-08-05 23:01:30 · 258 阅读 · 0 评论 -
string和stringstream的总结
一、stringstring 是 C++ 提供的字串型態,和 C 的字串相比,除了有不限长度的优点外,还有其他许多方便的功能。要使用 string, 必須先加入这一行:#include 接下來要宣告一个字串变量,可以写成:string s;我们也可以在宣告的同时让它设成某个字串:string s="TCGS";而要取得其中某一個字元,和传统C 的字串转载 2017-03-24 11:28:37 · 590 阅读 · 0 评论 -
C++控制台输入输出总结
当在控制台输入数据时,所有的数据都是输入到缓冲区的,当从其中提取数据时,也是从缓冲区提取的!其有一个指向缓冲区的指针,就是通过此指针对数据提取的。例如cin>>a;就是通过>>的重载实现从缓冲区取出数据并进行相应的转换后赋值给a;如果缓冲区没有数据的话,则等待用户输入数据。1.对于从控制台读入数据到数据结构中,主要要了解的是:1,读入的数据是什么(尤其针对字符串,是否包括空格,换行转载 2017-03-22 23:27:35 · 10099 阅读 · 1 评论 -
C++中有类似于Java的Integer.MAX_VALUE
#include 这个里面有各种数据类型的最大值和最小值,比如:INT_MAX或者float.h中也有原创 2017-03-22 23:42:05 · 5317 阅读 · 0 评论 -
C++的数值归并代码
//将r[i…m]和r[m +1 …n]归并到辅助数组rf[i…n] void Merge(ElemType *r,ElemType *rf, int i, int m, int n) { int j,k; for(j=m+1,k=i; i if(r[j] else rf[k] = r[i++]; }原创 2016-07-22 18:36:33 · 252 阅读 · 0 评论 -
用循环代替递归防止栈溢出
http://www.cnblogs.com/wb-DarkHorse/archive/2013/11/15/3284228.html转载 2016-08-22 21:13:36 · 497 阅读 · 0 评论 -
取整
#include double ceil(double x) //向上取整 double floor(double x) //向下取整 也可以用数据类型强制转换,那要看数据的大小 可以用int()或long() 比如int(104.23) = 104转载 2016-08-23 20:04:35 · 210 阅读 · 0 评论 -
C++的IO库常见错误
1.写入文件地址如D:\\try.txt,那么在D盘中文件名应该为try,无需添加txt防止内存读取过程中出现错误,一般在VS2013及其以上版本不会出错,VS2008会读取错误.2.将文件读取进入vector中,如果使用了push_back(s)则容易使得定义的迭代器失效。原创 2016-07-04 21:28:00 · 436 阅读 · 0 评论 -
LINK : fatal error LNK1104: 无法打开文件
查看那个文件是否存在;查看那个文件是否正被使用;重新生成解决方案。重新启动vs2008项目原创 2016-08-26 16:09:50 · 817 阅读 · 0 评论 -
库函数优先级队列(priority_queue)
库函数优先级队列(priority_queue)的实现方式是堆(heap), 默认是输出最大值.priority_queue pque;输出最小值, 需要指定参数, priority_queue, greater >原创 2016-09-21 09:51:02 · 517 阅读 · 0 评论 -
大话动态内存(一)
程序中的对象都有严格的生存期。全局对象:程序启动时分配,程序结束时销毁。局部自动对象:进入其定义所在程序时被创建,离开块时销毁局部static对象:第一次使用前分配,程序结束时销毁。而动态分配对象的生存期与哪里创建无关,只有显式地被释放时,才会被销毁。存储在堆中。新的标准库定义了两个智能指针来管理。unique_ptr和shared_ptr.原创 2016-09-27 10:32:59 · 340 阅读 · 0 评论 -
类和结构体
类中具体对象不可访问private成员,private是封装的私有成员,类的具体对象只能通过成员函数访问!结构体指针变量都需要初始化。原创 2016-10-17 16:56:07 · 227 阅读 · 0 评论 -
从"void*"到指向非"void"的指针的转换要求显式类型转换错误
错误代码:struct People * p = malloc(sizeof(struct People));正确代码:struct People * p = ( People *)malloc(sizeof(struct People));原创 2016-10-31 20:37:42 · 4737 阅读 · 1 评论 -
删除vector中内存
for (vector::iterator it = Myvec.begin(); it != Myvec.end(); it ++){if (NULL != *it){delete *it;*it = NULL;}}原创 2016-10-31 21:03:43 · 292 阅读 · 0 评论 -
函数memset详解
第一:memset函数对数组而言只能用于置零(0)或置负一(-1)操作。因为memset函数是对单个字节操作如果你把int a[5] 置2;memset(a,2,sizeof(int )*5); 因为它是整数型数组有四个字节,而每个字节都被赋值为2;即数(例 int a[5])每个元素(如a[0])中的每个字节(整型数组每个元素含有四个字节)的值都被赋予成2,二进制表示及(00000010 000原创 2016-11-16 21:08:27 · 1048 阅读 · 0 评论 -
C++中访问控制
第一:private, public, protected 访问标号的访问范围,在没有继承的情况下:private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。但不能被该类的对象访问。public:可以被1.该类中的函数、2.子类原创 2016-12-23 10:27:08 · 365 阅读 · 0 评论 -
C++内存详解http://www.jizhuomi.com/software/281.html
声明:本文转自http://www.jizhuomi.com/software/281.htmlC/C++作为偏底层的语言,我们往往可以使用其对内存进行直接操作,相对来说比较灵活,但任何事情都有两面性,对内存的操作简便也经常导致程序出现内存bug。所以我们在编程时要特别重视内存和指针等概念,尽量避免bug,而这均取决于我们对内存的理解。 本文就从C/C++的内存基础知识转载 2016-12-23 11:02:04 · 1084 阅读 · 0 评论 -
Effective C++学习笔记
文章转自http://blog.youkuaiyun.com/shenzi/article/details/5601038.声明:仅供学习复习一.让自己习惯C++ 条款01:视C++为一个语言联邦 为了更好的理解C++,我们将C++分解为四个主要次语言:C。说到底C++仍是以C为基础。区块,语句,预处理器,内置数据类型,数组,指针统统来自C。Object-Orei转载 2017-02-14 15:21:50 · 459 阅读 · 0 评论 -
C++文件输入输出
常见的文本文件格式输出方法如下 char * File2 = "norms.txt"; ofstream outfile2(File2); outfile2 vecto原创 2017-03-10 15:25:41 · 466 阅读 · 0 评论 -
C++中string字符串使用
提纲: 一:string型字符串声明,初始化和赋值: 1.string型字符串的声明和初始化方式: 2.string型字符串的声明和初始化的简单示例: 3.string字符串的赋值及其示例:二:string型字符串的基本操作函数: 1.基本操作函数介绍: 2.基本操作函数示例:正文:一:字符串基本操转载 2017-03-22 20:34:17 · 2682 阅读 · 0 评论