- 博客(30)
- 收藏
- 关注
原创 remove_if使用示例
vector中的remove_if使用: remove_if(ivec.begin(), ivec.end(), function)作用:删除满足function函数的元素。实例如下:#include <iostream>#include <vector>#include <algorithm>using namespace std;bool compare(int d){ re
2015-04-12 20:30:17 1025
原创 vector的代码优化
第一例:for(vector<int>::iterator iter = vecForeach1.begin();iter < vecForeach1.end();iter++) { printf("使用迭代器遍历vecForeach1向量方式取vecForeach1里的元素为%d\n", *iter); } 可以优化上面的代码1.使用typedef vector::ite
2015-04-12 19:44:56 633
原创 vector删除元素
vector::erase()和algorithm中的remove(remove_if)函数都可以用来删除vector中的元素。但是其中也有些区别。(关于remove_if的使用,请参考我的博客:remove_if使用示例)erase函数的定义,通过迭代器来删除单个或者范围的元素iterator erase( iterator _Where);iterator erase( itera
2015-04-12 19:15:30 1823
原创 c++ vector(向量)使用方法详解(顺序访问vector的多种方式)
vector是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器,本文介绍一下使用方法。 vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器。vector 是C++ STL的一个重要成员,使用它时需要包含头文件:代码如下:#include<vector>;一、vector 的初始化:可以有五种方式,举例说明如下:(1) vector<int> a(10)
2015-04-12 13:43:19 8447 1
原创 error LNK1169: 找到一个或多个多重定义的符号 D:\Visual Studio 2013\...\Debug\.exe 1 1
1.cpp:(调用2文件)#include<stdio.h>#include"2.cpp" //错误,应该改成#include"2.h"............2.h:#include<stdio.h>.......2.cpp:#include<stdio.h>#include"2.h".......编译出错:error LNK1169: 找到一个或多个多重定义的符号 D:\Vis
2015-04-09 11:16:49 2819
转载 <C++>迭代器:访问string对象和vector对象
转载于此文:C++学习笔记(十):迭代器我们都知道可以用下标运算来访问string对象和vector对象。而另外还有一种更通用的方法也可以实现这样的方法。名曰:迭代器(iterator)。类似于指针,迭代器也提供了对对象的间接访问。就迭代器而言,其对象是容器中的元素或者string中的字符。使用迭代器可以访问某个元素,迭代器也能从一个元素移动到另外一个元素。迭代器有有效和无效之分,有效的迭代器指向某
2015-04-01 13:44:21 7281
转载 <C++>vector
转载于:C++学习笔记(九):vector使用标准库类型,vector表示对象的集合,其中所有对象的类型都相同。关于vector可以对比着数组来理解。在有些方面它和数组很像。需要指出的是vector是一个类模板。模板本身不是类或者函数,既然称之为模板,那可以理解其实一个参照的标准。当使用模板时,需要指出编译器应模板中的对象定义成何种类型。定义方式如下:vector<int> num; //n
2015-04-01 13:32:00 550
原创 <C++>istringstream, ostringstream, stringstream的用法
1、ostringstream:ostringstream 对象用来进行格式化的输出,可以方便的将各种类型转换为string类型。ostringstream 只支持 << 操作符。 2、istringstream :istringstream 对象用来把一个已定字符串中的以空格隔开的内容提取出来。istringstream 只支持 >> 操作符。 3、stringstream: string
2015-04-01 12:55:59 1129
原创 <C++>获取并显示当前时间
一、首先,我们要分清楚几个概念: 1、Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是格林威治标准时间(Greenwich Mean Time,GMT)。比如,中国内地的时间与UTC的时差为+8,也就是UTC+8。美国是UTC-5。以年、月、日、时、分、秒表示2、Calendar Time:日历时间,是用“从一个标准时间点(如:1970年1月1
2015-04-01 11:07:29 22290
原创 带默认参数的函数
使用带默认参数的函数时要注意 1. 既可以在函数声明也可以在函数定义中指定默认实参。但是,在一个文件中,只能为一个形参指定默认实参一次。 2. 当函数定义和调用在同一个文件时,默认值需在调用前给出(声明或定义中都可以)。 详细如下:参考此文(1) 既可以在函数声明也可以在函数定义中指定默认实参。但是,在一个文件中,只能为一个形参指定默认实参一次。函数最终的默认参数是声明和定义的合集。下面
2015-03-31 16:45:27 1117
原创 减少图像的颜色数量(除法运算)
我们来用各种方法来实现减少图像的颜色数量color = color/div*div +div/2;若div为8,则原来RGB每个通道的256种颜色减少为32种。若div为64,则原来RGB每个通道的256种颜色减少为4种,此时三通道所有能表示的颜色有4×4×4 = 64 种。为什么呢?256/64*64 + 64/2 = 4 ??非也非也!!256个数表示的范围是0~255。 255/64 = 3
2015-03-31 16:34:50 1629
转载 OpenCV2 访问各个像素点的方法(图像遍历)
转载于此文内容来自《OpenCV 2 Computer Vision Application Programming Cookbook》OpenCV2 访问图像的各个像素有各种方法我们来用各种方法来实现减少图像的颜色数量color = color/div*div +div/2;若div为8,则原来RGB每个通道的256种颜色减少为32种。若div为64,则原来RGB每个通道的256种颜色减少为4种,
2015-03-31 16:24:19 1337
转载 类中带默认参数的函数
转载于:类中带默认参数的函数反思两个问题 1. 带默认参数的函数,为何声明、定义不能同时有参数? 2. 带默认参数的函数, 为何带默认参数的参数靠后站?上程序#include <iostream>#include <string>using namespace std;class A{ public: A(const string &a = "hello, niha
2015-03-31 15:15:57 722
转载 类中的函数:构造函数
转载自:类中的函数:构造函数1.构造函数(constructor function): 用来实现自动初始化的特殊函数称为构造函数,constructor是一个对象创建时会自动执行的成员函数。 1) 构造函数的规定: 首先,它与所属的类有着同样的名称其次,构造函数没有返回类型构造函数的初始化列表的位置位于构造函数的声明符和函数体之间,以一个冒号(:)开始,数据成员后面跟着一个括号,括号中为初始值
2015-03-31 14:51:22 973
原创 <C++>计算程序运行时间
opencv计算运行时间有两个函数:getTickCount():CPU从某事件开始(如开机)到这个时刻滴答震动的次数。getTickFrequency():CPU震动的频率我们可以根据这两个函数计算当前程序运行的时间:double t = (double)getTickCount();......//执行某段程序t =((double)getTickCount()-t)/getTickFreq
2015-03-31 12:39:17 1109
原创 <opencv学习 1>图像文件的读入与显示
接触了一段时间的图像处理与opencv,调试了几个大的工程,虽然最终都调试出来了,但是深感力不从心。在图像处理方面,会看人家的代码远远不够,要想要把自己的一个想法快速的实现出来,还需要扎实的编程能力。所以准备从头开始学习opencv。 推荐[opencv中文网站][这里写链接内容](http://wiki.opencv.org.cn/index.php/%E9%A6%96%E9%A1%B5)
2015-03-31 11:18:21 590
原创 1>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
用我的VS2013打开人家VS2010的程序,出现1>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 提示。我的解决方法: 是嵌入清单的问题,对该工程以及所有依赖工程进行如下操作: 右键->工程属性->配置属性-> 清单工具->输入和输出->嵌入清单,选择[否]。就可以啦。更多解决方法如下:转载于http://blog.csdn.net/zh
2015-03-27 12:48:30 2504
原创 vs未找到导入的项目,请确认 <Import> 声明中的路径正确
本文解决的问题: VS显示“vs未找到导入XXX.vcxproj 项目,请确认 import 声明中的路径正确”。本文以属性表和版本升级为例。其他问题解决方法相似。1)添加属性表 打开别人的项目时,如果他在项目中添加了属性表,而属性表并未同时与工程一起打包,那么你的VS就会显示: D:\xxxx\xxxx.vcxproj : error : 无法读取项目文件“xxxx.csp
2015-03-27 11:47:49 32359 3
原创 VS资源文件和外部依赖项
本文解决的问题: 1、VS资源文件是什么 2、VS外部依赖项是什么 3、VS2012d的MSDN帮助文档的下载外部依赖项:里面显示的文件是你程序中显示包含的头文件所包含的的头文件。比如,你的main函数里面包含了windows.h头文件,而windows.h头文件又包含其他头文件,而这些头文件又可能还包含另外的头文件,所有这些都显示在外部依赖项里面。资源文件主要是你用到的一些程序代码以外的东西
2015-03-26 14:44:27 10552
原创 「附加依赖项」、「库目录」和「包含目录」是什么?
本文解决的问题: 1、附加依赖项、库目录和包含目录是什么? 2、VS中怎么添加附加依赖项、库目录和包含目录包含目录:#include < .h>中 .h的搜索目录。如果有XXX.h找不到,设置这个目录可以解决。附加依赖项:lib库 。 C++的库会把函数、类的声明放在.h中,实现放在.cpp或.cc中。编译之后,.cpp,.cc,.c会被打包成一个.lib文件,这样可以保护源代码。所以
2015-03-26 14:25:52 6076 1
原创 lib,dll区别 及 VS中如何添加lib,dll
1.加载lib/头文件分两种方法:(1)适用于当前项目1 第一步:项目->属性->C/C++->常规->附加包含目录(浏览.h文件的路径) 添加包含文件 2 第二步:项目->属性->C/C++->链接器->输入->附加依赖项(写入lib的名称) 添加库文件 3 项目->属性->C/C++->链接器->输入->附加依赖项 添加用到的lib 4 第三步:在要使用cp
2015-03-26 14:01:31 2106
原创 编辑器、编译器和链接器
本文解决的问题: 1.编译器,集成开发环境的区别 2.源文件,目标文件,库文件是什么 3.什么是编辑器、编译器和链接器 有关库文件,请参考我的博客 lib,dll区别 及 VS中如何添加lib,dll 1.集成开发环境: “集成”二字就是字面意思,集成开发环境整合了编辑器、编译器、链接器,调试,部署,乃至代码版本管理等功能于一体,为了方便程序员编写,编译,调试程序和部署程
2015-03-26 10:59:25 2292
原创 C 预处理(宏定义,文件包含,条件编译)
本文解决的问题: 1. 什么是预处理 2. 文件包含中尖括号和引号的区别 #include #include "my.h" 3. 常用的 #define #ifndef 是什么 注:转载于C预处理小结点击打开链接预处理功能主要包括宏定义,文件包含,条件编译三部分。分别对应宏定义命令,文件包含命令,条
2015-03-26 10:21:33 1209
转载 memset函数
【转】memset函数 :http://www.cnitblog.com/Hali/archive/2009/08/25/60974.html原型:extern void *memset(void *buffer, int c, int count); 用法:#include 功能:把buffer所指内存区域的前count个字节设置成字符c。
2014-11-08 14:59:34 757
转载 OpenCV中的assert函数
[转载]OpenCV中的assert函数 (2012-10-14 16:13:15)转载▼标签: 转载 原文地址:OpenCV中的assert函数作者:小舞ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如
2014-10-26 18:44:34 1276
转载 int main(int argc,char* argv[])详解
随笔- 154 文章- 1 评论- 43 int main(int argc,char* argv[])详解 argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数 命令行后面跟的用户输入的参数,比如: int main(int
2014-10-26 16:49:24 635
转载 Cmake出现的两个问题
之所以出现这问题,上网查了,据说是因为,是因为,CMAKE不认中文,不认中文。。。尼玛,不服不行啊。。网上说的解决办法如下:以VS2008编译环境为例首先打开VS2008,打开"Tool"菜单->"Option..."->"projects and solutions"选项->"General";然后看看这个"Options"页面右边的"Projects location"
2014-10-18 22:35:36 1771
转载 利用CMake和OpenCV源代码生成Visual Studio工程
OpenCV1.0版本有windows,linux之分,笔者曾经一直使用Opencv1.0。这个版本在下载,安装之后,在 \OpenCV\_make文件夹下面已经存在了一个opencv.dsw的工程文件,直接用VC6,或者,Visual Studio就可以打开该工程,从而可以进行相应的编译工作;而对于OpenCV2.0及以后的版本而言,就没有类似的工程文件了。这个时候,就需要你自己利用CMake工
2014-10-18 22:34:19 1889
转载 OpenCV 2.4.8 +VS2010的开发环境配置
目录(?)[-]因为读研期间的研究方向是图像处理所以浅墨这段时间闭门研究了很多OpenCV和图像处理相关的知识与内容眼看自己积累到一定的程度了于是决定开始开设这个OpenCV系列专栏总结自己所学也分享知识给大家还是先放出待会儿的测试用图下载和安装OpenCV SDKsources里面是源代码想查看完整的源代码需要用cmake来解包如何解包大家百度一下就可以或者下次浅墨来
2014-10-18 22:32:32 779
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人