20140401 cudaHOG代码
1、cudaHOG代码(删减没有必要的目录)
cudaHOGDetect需要boost库:boost_date_time-vc100-mt-1_40.lib
- VC++目录->附加库目录D:\boost\boost_1_40_0\stage\lib
- C\C++目录->常规->D:\boost\boost_1_40_0\include\boost-1_40\
2、STL基本
- 包含一些列排序搜索算法
- 调试安全、跨平台
- 模板:类的宏,也甜饼切割机(cookie cutter),泛型(generic).
- 类模板:泛型类。函数模板:泛型函数
- STL标准模板库:一些聪明人写的一系列模板。包括链表,堆栈,队列,列表和排序查找等常用的算法
- 容器:可容纳一些数据的模板类(分为顺序和关联)。STL中有vector,set,map,multiple,deque等容器
- 向量(vector):基本数组模板,这是一个容器
- 游标(Iterator):是一个指针,指向STL容器中的元素,也可以指向其他元素
3、vector向量例子
以下代码户主要是利用游标(iterator,类似于指针)和数组的形式去改变向量中元素的值
#include<iostream>
#include<vector>
using namespace std; void print(vector<int>); int main()
{
vector<int > vec;
vec.push_back(34);
vec.push_back(23);
print(vec);
vector<int>::iterator p;
p=vec.begin();
*p=68;
*(p+1)=69;
//*(p+2)=70;
print(vec);
vec.push_back(101);
vec.push_back(102);
int i=0;
while(i<vec.size())
cout<<vec[i++]<<" ";
cout<<endl;
vec[0]=1000;
vec[1]=1001;
vec[2]=1002;
//vec[3]=1002;
i=0;
while(i<vec.size())
cout<<vec[i++]<<" ";
print(vec);
return 0;
} void print(vector<int> v)
{
cout<<"\n vector size is: "<<v.size()<<endl;
vector<int>::iterator p =v.begin(); }
以下代码主要是利用vector求和
- vector 的reserve增加了vector的capacity,但是它的size没有改变!而resize改变了vector的capacity同时也增加了它的size!
- vector<int>::iterator p2=v1[0];这两句都是错的,这就是与指针的区别http://www.cnblogs.com/qlee/archive/2011/05/16/2048026.html
vector<int>::iterator p2=&(v1[0]);这两句都是错的,这就是与指针的区别
#include<iostream>
#include<vector>
using namespace std;
int sum(vector<int> vec)
{
int result =0;
vector<int>::iterator p=vec.begin();
while(p!=vec.end())
result+=*p++;
return result;
} int main()
{
vector<int> v1(100); //定义一个包含一百个元素的向量,自动初始化为0
cout<<v1.size()<<endl; //100
cout<<sum(v1)<<endl; //0
v1.push_back (23);
cout<<v1.size()<<endl; //101
cout<<sum(v1)<<endl; //23
v1.resize(1000); //v1.reserve(1000);
v1[900]=900;
cout<<v1[900]<<endl;//900
cout<<v1.front()<<endl;//0
cout<<v1.back()<<endl;//23
v1.pop_back();
cout<<v1.back()<<endl;//0
//vector<int>::iterator p2=v1[0];这两句都是错的
//vector<int>::iterator p2=&(v1[0]);这两句都是错的
return 0; }
以下代码是浅拷贝出错,导致两次析构同一块内存问题:深拷贝会开辟新的空间,浅拷贝不会
#include<iostream>
#include<cstdlib>//cstdlib是C++里面的一个常用函数库, 等价于C中的<stdlib.h>
#include<vector>
using namespace std;
class CDemo
{
public:
CDemo():str(NULL){};
~CDemo()
{
if(str) //delete[] str;
{
static int i=0;
cout<<"&CDemo"<<i++<<"="<<(int *)this<<", str"<<(int *)str<<endl;
delete[] str;
}
}
char *str;
}; int main(int argc, char ** argv)
{
CDemo dl;
dl.str=new char[32];
strcpy(dl.str,"trend micro"); vector<CDemo> *al=new vector<CDemo>();
al->push_back(dl);
delete al;//第一次释放
return EXIT_SUCCESS;//退出时第二次释放
}
解决方法是:在CDemo类中添加一个深拷贝构造函数
CDemo(const CDemo &cd)
{
this->str = new char[strlen(cd.str)+1];
strcpy(str,cd,str);
}
20140401 cudaHOG代码的更多相关文章
- 20140331 HOG代码调试 Boost库安装
1.CUDAHOG代码调试 错误1: 错误提示:(main.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall cudaHOG::cudaH ...
- 使用ReSharper打造团队代码
当前标签: 漂亮代码 请看高质量的代码——更新 Leo C.W 2014-04-01 19:16 阅读:544 评论:5 我们的终极编码规范 Leo C.W 2014-03-31 22:34 ...
- JS日期级联组件代码分析及demo
最近研究下JS日期级联效果 感觉还不错,然后看了下kissy也正好有这么一个组件,也看了下源码,写的还不错,通过google最早是在2011年 淘宝的虎牙(花名)用原审JS写了一个(貌似据说是从YUI ...
- 日期格式代码出现两次的错误 ORA-01810
错误的原因是使用了两次MM . 一.Oracle中使用to_date()时格式化日期需要注意格式码 如:select to_date('2005-01-01 11:11:21','yyyy-MM-dd ...
- 可爱的豆子——使用Beans思想让Python代码更易维护
title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...
- iOS代码规范(OC和Swift)
下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button ...
- Jquery的点击事件,三句代码完成全选事件
先来看一下Js和Jquery的点击事件 举两个简单的例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...
- redux-amrc:用更少的代码发起异步 action
很多人说 Redux 代码多,开发效率低.其实 Redux 是可以灵活使用以及拓展的,经过充分定制的 Redux 其实写不了几行代码.今天先介绍一个很好用的 Redux 拓展-- redux-amrc ...
- 编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)
建议75:集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法 ...
随机推荐
- img引用网络图片资源无法加载问题解决
近期在自己项目中遇到引用一些网络图片资源,显示无法加载,但是在浏览器打开图片路径又可以显示的问题 解决办法: 在图片显示的界面把meta referrer标签改为never <meta name ...
- RzGroupBar
何分多层 procedure TForm1.FormCreate(Sender: TObject); begin RzGroup1.Items.Clear; RzGroup1.Items.Add.Ca ...
- [bzoj3033]太鼓达人 题解(搜索)
Description 七夕祭上,Vani牵着cl的手,在明亮的灯光和欢乐的气氛中愉快地穿行.这时,在前面忽然出现了一台太鼓达人机台,而在机台前坐着的是刚刚被精英队伍成员XLk.Poet_shy和ly ...
- php网络编程实例
php网络编程实例 一.总结 一句话总结: socket_create():创建socket socket_bind():绑定IP和端口 socket_listen():监听客户端信息 <?ph ...
- CSS:CSS 表格
ylbtech-CSS:CSS 表格 1.返回顶部 1. CSS 表格 使用 CSS 可以使 HTML 表格更美观. Company Contact Country Alfreds Futterkis ...
- Codeforces 1189A Keanu Reeves
题目链接:http://codeforces.com/problemset/problem/1189/A 思路:统计1 和 0 的个数,不相等拆开字符串,否则不拆. AC代码: #include< ...
- VIM查找空格
匹配1到多个空格 /\s\+ 或者开启very magic模式 /\v\s+
- 四、vim 编辑器
vim编辑器 -rw-r--r--. 1 root root 1982 8月 2 2017 /etc/virc vi 配置文件 -rw-r--r--. 1 root root 1982 8月 2 20 ...
- CentOS 7 用 yum 安装 Nginx
在 CentOS 7 中,直接使用 yum 安装 Nignx 会提示无下载源.因此,需要添加 Nginx 的下载源到 yum: sudo rpm -Uvh http://nginx.org/packa ...
- 微信小程序のwxml列表渲染
列表渲染存在的意义 以电商为例,我们希望渲染5个商品,而又希望容易改变,我们就要在wxml中动态添加. <view> <block wx:for="{{products}} ...