
Learn C++
Michael__Shi
这个作者很懒,什么都没留下…
展开
-
学习C++ 第一集
小明有一块矩形的草坪,xian'zai原创 2014-11-17 22:32:40 · 557 阅读 · 0 评论 -
智能指针shared_ptr、weak_ptr、unique_ptr总结
在C++98中,智能指针通过模板类型"auto_ptr"来实现。这在一定程度上避免了忘记释放内存造成的问题。不过auto_ptr有一些缺陷(拷贝时返回一个左值,不能调用delete[]等),因此,在C++11中,auto_ptr被废弃了。取而代之的是shared_ptr、weak_ptr、unique_ptr等智能指针。这些指针默认使用delete, delete[]来释放内存,所以在分配内存原创 2016-09-07 10:08:18 · 1046 阅读 · 0 评论 -
当数组访问超出下标
对于一个数组,当访问越界时,无论是读还是写都产生不可预期的结果。但是对超界部分读时,结果虽然不可预期,但是程序却不会出现异常。对越界部分进行写操作时就会出现异常。#include#includeusing namespace std;int main(){ shared_ptr smartPtr(new int[10]); for (int i = 0; i < 10; i原创 2016-09-06 09:24:19 · 3870 阅读 · 0 评论 -
C++ 多线程之临界区
关于C++临界区Critical Sections http://blog.sina.com.cn/s/blog_8eee7fb601012omv.html中将的很清楚了在多线程中,我们看一下使用CRITICAL_SECTION和不使用CRITICAL_SECTION的差异:struct MyStruct{ int a; int b;};MyStruct s;CRITICAL原创 2016-09-04 22:09:53 · 3714 阅读 · 0 评论 -
赛码网练习题
1. #include#includeusing namespace std;int main(){ string history, future; while (cin >> history >> future) { auto it = history.begin(); while (it != history.end()) { if (((*it - '原创 2016-09-09 15:28:59 · 5887 阅读 · 0 评论 -
typedef和#define的用法与区别
typedef和#define的用法与区别转自:http://www.cnblogs.com/kerwinshaw/archive/2009/02/02/1382428.htmltypedef和#define的用法与区别一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像转载 2016-07-03 16:07:57 · 539 阅读 · 0 评论 -
C++中数据值为-1.#IND000000000000
当变量值为: -1.#IND000000000000 时,就是变量 (NAN)Not-A-Number当一个运算非法,比如log(0), m/0 等情况时会得到 -1.#IND000000000000另外如果一个表达式中不管加减乘除什么的,只要有一个数值为NAN,则该表达式的结果都是NAN在math.h中可以用函数 isnan(num) 来判断,当num 为NAN的时候返回 true,原创 2016-05-24 21:25:06 · 11461 阅读 · 0 评论 -
c++ int 转char * 函数 _itoa_s
_itoa_s 函数原型如下: errno_t _itoa_s( int value, char *buffer, size_t sizeInCharacters, //存放结果的字符数组长度 int radix);使用如下char c1[100]="D:/";char c2[2];f原创 2015-10-27 22:19:14 · 2592 阅读 · 0 评论 -
C++中的vector使用范例
转自:http://blog.chinaunix.net/uid-20622737-id-3278427.html一、概述vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector是一个容器,它能够存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,可以动态改变大小。例如:转载 2015-10-10 17:21:15 · 699 阅读 · 0 评论 -
vs2013下使用GDAL
注:vs2013编译GDAL 参考:http://blog.youkuaiyun.com/youzhuo/article/details/37930071项目需要使用GDAL读 tiff 文件,本来实验室有人已经用了GDAL1.4.2版本的,他那边直接编译过了,以为可以直接考过来用,结果编译的时候没有问题,都通过了但是运行的时候就出现了错误 error c2732: 链接规范与“_copys原创 2015-10-21 20:41:55 · 4193 阅读 · 0 评论 -
程序运行时间
c 代码的运行时间:#include#includevoid main(){ clock_t start,finish; double totaltime; start=clock(); …… //需要计算运行时间的代码 finish=clock(); totaltime=(double)(finish-start)/CLOC原创 2015-07-22 15:09:41 · 515 阅读 · 0 评论 -
win8 64位 + VS2013 + PCL 1.7.2 配置的一些问题
项目要用的PCL,我的系统是64位, 使用的是VS2013,64位现在官网上还没有适用 VS2013的版本,在论坛里找到了有人翻墙搞到的PCL 1.7.2,其中有32位版本,也有64位版本由于我的系统和vs2013都是64位的,于是就想当然的下载了PCL-1.7.2-AllInOne-msvc2013-win64,然后安装配置了,再使用一个简单的示例程序来检查是否配置成功,结果出现一堆的连接错误:e原创 2015-05-06 22:58:14 · 10353 阅读 · 12 评论 -
排序问题——翻转烙饼
在编程之美上看到一个翻转烙饼的排序问题,就拿过来练练手了。问题是这样的,一个有强迫症的人,在一家饭店里端盘子,这里的烙饼很畅销,顾客一般会点很多的烙饼,可是烙饼是手工的,大小不一,放在一个盘子里大大小小不整齐,强迫症的人看不下去了,于是就想把烙饼按大小给拍好序,整齐的呈现给顾客。不过他只有两只手,一只手端盘子了,只有一只手可以用来给烙饼排序,一只手只能抓起一摞烙饼,然后进行翻转这么简单的操作,原创 2015-03-20 21:08:15 · 1283 阅读 · 0 评论 -
归并排序的一种实现
归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。看到一篇博客讲的蛮好的,动态图很生动,下面是链接:http://blog.youkuaiyun.com/wu_lai_314/articl原创 2015-04-13 19:05:18 · 544 阅读 · 0 评论 -
C++生成libsvm训练使用数据文件格式
编写一个C++程序来实现将原始的目标特征向量数据转化成libsvm可以使用的数据格式。原创 2015-03-14 22:06:15 · 4003 阅读 · 4 评论 -
C++输入详解
C++输入cin详解输入原理:程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入#1:按 Ctrl+C 复制代码#include转载 2015-01-03 00:29:25 · 844 阅读 · 0 评论 -
Kinect深度图与彩色图的坐标校准
kinect的深度数据和彩色数据的分辨率以及视场大小都不一样,不能直接对应起来,想要把深度和彩色融合起来就要费一番周折了。看了MSDN中kinectSDK的介绍,发现了一个ICoordinateMapper的类,看介绍知道里面有一个成员函数MapDepthFrameToColorSpace可以实现深度图和彩色图的坐标校准,于想试试看,结果转到定义处才发现这个成员函数是纯虚函数!!白高兴一场原创 2015-02-07 12:21:41 · 27856 阅读 · 18 评论 -
IplImage, CvMat, Mat 的前世今生
原文地址:http://www.cnblogs.com/summerRQ/articles/2406109.htmlopencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,Mat类型侧重于计算,数学性较高,openCV对Mat类型的计算也进行了优化。而CvMat和IplImage类型更侧重于“图像”,opencv对其中的转载 2015-01-30 20:11:22 · 662 阅读 · 0 评论 -
C++ 文件路径
http://blog.youkuaiyun.com/sszgg2006/article/details/8447176http://blog.youkuaiyun.com/jeanphorn/article/details/449370971、绝对路径表示相对容易正斜杠,又称左斜杠,符号是"/";反斜杠,也称右斜杠,符号是"\"。文件路径的表示可以分为绝对路径和相对路径:pDummy原创 2016-12-07 10:52:36 · 3450 阅读 · 0 评论