![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 92
周南
美美哒
展开
-
DLL与LIB库文件的生成和使用---C++
DLL与LIB库文件的生成和使用---C++ 两种库: 包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。 包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。共有两种链接方式: 动态链接使用转载 2014-11-27 22:43:46 · 688 阅读 · 0 评论 -
C/C++变量的初始化
1. 在全局域中声明的变量会自动初始化为0,如: double salary; int day;2. 如果变量是在局部域中定义的,或是通过new表达式动态分配的,则系统不会向它提供初始值0,这些对象被认为是未初始化,其值随机。而类对象会通过缺省构造函数自动初始化3. C++支持两种形式的初始化:1:使用赋值操作符的显示语法形式。如:int iv转载 2014-12-12 14:22:35 · 850 阅读 · 2 评论 -
PCL(Point Cloud Library)的第三方库简介(boost,eigen,flann,vtk,qhull)
PCL因为融合了大量的第三方开源库,导致学习成本升高~在学习之前我们不妨了解一下这些库都是干嘛的,以便有的放矢,在之后更好的使用 boost: C++的标准库的备用版,擅长 从数学库到智能指针,从模板元编程库到预处理器库,从线程到 lambda 表达式, http://blog.sina.com.cn/s/blog_40b056950100ht8p.html http转载 2014-12-12 20:31:13 · 1080 阅读 · 0 评论 -
c++命名空间
http://www.cnblogs.com/zhuyf87/archive/2012/12/15/2819569.html命名空间(namespace)为防止名字冲突提供可控机制。一个命名空间是一个作用域,可以在命名空间内部定义自己的模板名、类型名、函数名,而不会与其它命名空间中的相同名字造成冲突。namespace cplusplus_primer {class Sa转载 2014-12-27 22:07:41 · 483 阅读 · 0 评论 -
C的|、||、&、&&、异或、~、!运算
位运算 位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。位运算符有: &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。 其中,按位取反运算符是单目运算符,其余均为双目运算符。 位运算符的优先级从高到低,依次为~、&、^、|, 其中转载 2014-12-12 14:26:03 · 467 阅读 · 0 评论 -
DLL与LIB库文件的生成和使用---C++
两种库: 包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。 包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。共有两种链接方式: 动态链接使用动态链接库,允许可执行模块(.dll文件或.exe文件)仅包含在运转载 2014-12-30 14:39:36 · 636 阅读 · 0 评论 -
openMP的一点使用经验
http://www.cnblogs.com/yangyangcv/archive/2012/03/23/2413335.html转载 2015-03-04 20:38:26 · 461 阅读 · 0 评论 -
C++编译链接过程
http://blog.csdn.net/edisonlg/article/details/7081357GCC的编译过程总体来说,C/C++源代码要经过:预处理、编译、汇编和链接,四步才能变成相应平台下的可执行文件。File: hw.c[cpp] view plaincopy#include转载 2015-03-04 21:35:59 · 645 阅读 · 0 评论 -
C++矩阵处理库--Eigen初步使用
(转载自: CSDN cyxcw1的博客) 2013-07-16 21:20:43| 分类: 计算机视觉|举报|字号 订阅项目要进行比较多的矩阵操作,特别是二维矩阵。刚开始做实验时,使用了动态二维数组,于是写了一堆Matrix函数,作矩阵的乘除加减求逆求行列式。实验做完了,开始做代码优化,发现Matrix.h文件里适用性太低,而且动态二维数组的空间分配与释放也影响效率,于是寻找其他解决转载 2015-03-04 17:00:53 · 1775 阅读 · 0 评论 -
C++静态库与动态库
http://www.cnblogs.com/skynet/p/3372855.html#undefinedC++静态库与动态库这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。什么是库转载 2015-03-28 15:09:31 · 596 阅读 · 0 评论 -
C++中函数指针的使用
http://blog.csdn.net/sruru/article/details/7916296在C/C++中存在着函数指针,即指向函数的指针。我目前已知的两种使用方法是: [cpp] view plaincopy#include #include typedef int* PINNT; #de转载 2015-03-10 22:12:17 · 579 阅读 · 0 评论 -
C++指针详解
http://www.cnblogs.com/ggjucheng/archive/2011/12/13/2286391.html指针的概念指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声转载 2015-04-09 22:22:39 · 632 阅读 · 0 评论 -
c++架构
值得学习的C语言开源项目- 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.转载 2016-01-12 21:29:22 · 2462 阅读 · 0 评论 -
Boost智能指针——shared_ptr
Boost智能指针——shared_ptrboost::scoped_ptr虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而boost::shared_ptr可以解决这一局限。顾名思义,boost::shared_ptr是可以共享所有权的智能指针,首先让我们通过一个例子看看它的基本用法:#include #include #include c转载 2014-12-11 21:44:52 · 558 阅读 · 0 评论 -
#pragma unroll的用法
#pragma宏命令主要是改变编译器的编译行为,其他的参数网上资料比较多,我只想简单说下#pragma unroll的用法,因为网上的资料比较少,而且说的比较笼统,请看下面的一段代码int main(){int a[100];#pragma unroll 4for(int i=0;i{a[i]=i;} return 0转载 2014-12-27 15:19:06 · 1937 阅读 · 0 评论 -
C++的头文件和实现文件分别写什么
C++的头文件和实现文件分别写什么在C++编程过程中,随着项目的越来越大,代码也会越来越多,并且难以管理和分析。于是,在C++中就要分出了头(.h)文件和实现(.cpp)文件,并且也有了Package的概念。对于以C起步,C#作为“母语”的我刚开始跟着导师学习C++对这方面还是感到很模糊。虽然我可以以C的知识面对C++的语法规范,用C#的思想领悟C++中类的使用转载 2014-11-29 23:12:40 · 619 阅读 · 0 评论 -
带参数的main函数
第一个带参数的main。 #include int main(int argc,char *argv[]){ for(inti=0;i) { cout'\t'; // } return0;} /*int argc, char转载 2014-11-30 13:00:01 · 495 阅读 · 0 评论 -
C++函数模板
C++提供了函数模板(function template)。所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需在模板中定义一次即可。在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现了不同函数的功能。看下面的例子就清楚了。【例4.7】将例转载 2014-11-30 20:14:16 · 719 阅读 · 0 评论 -
C++类模板详解
类模板与函数模板的定义和使用类似,我们已经进行了介绍,如果您对函数模板也感兴趣,请查看:C++函数模板。有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同,如下面语句声明了一个类:class Compare_int{public : Compare(int a,int b) { x=a; y=b; } int max( ) {转载 2014-11-30 20:12:32 · 513 阅读 · 0 评论 -
boost库 bind/function的使用
http://blog.csdn.net/misskissc/article/details/110019711 bind/function 引(1)头文件bind函数#include /bind.hpp>function使用头文件#include 如果写程序时出错则在function及bind前面加上限定:"boost::" (2)功能转载 2015-01-26 22:15:39 · 550 阅读 · 0 评论 -
boost::function 介绍
本片文章主要介绍boost::function的用法。 boost::function 就是一个函数的包装器(function wrapper),用来定义函数对象。1. 介绍 Boost.Function 库包含了一个类族的函数对象的包装。它的概念很像广义上的回调函数。其有着和函数指针相同的特性但是又包含了一个调用的接口。一个函数指针能够在能以地方被调用或者作为一个回调函数转载 2014-12-23 11:24:11 · 475 阅读 · 0 评论 -
boost::bind 介绍
这篇文章介绍boost::bind()的用法, 文章的主要内容是参考boost的文档。1. 目的 boost::bind 是std::bindlist 和 std::bind2nd的结合体。它提供一个任意的函数对象(仿函数)、函数、函数指针、成员函数指针。 它可以绑定任意的参数。bind 没有对函数对象有任何的要求。2. 把bind()用在函数和函数指针上转载 2014-12-23 11:29:15 · 414 阅读 · 0 评论 -
C/C++中static关键字详解
静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值。 静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见。用法1:函数内部声明的static变量,可作为对象间的一种通信机制 如果一局部变量被声明为static,那么将只有唯一的一个静态分配的对象,它被用于在该函数的所有调用中表示这个变量。这个对象将转载 2014-12-23 13:42:38 · 457 阅读 · 0 评论 -
c++模板与泛型编程基础
http://www.cnblogs.com/zhuyf87/archive/2013/03/04/2942208.html泛型编程就是以独立于任何特定类型的方式编写代码,而模板是泛型编程的基础。(1)定义函数模板(function template)函数模板是一个独立于类型的函数,可以产生函数的特定类型版本。// implement strcm转载 2015-01-30 17:04:23 · 485 阅读 · 0 评论 -
c++中的.hpp文件
c++中的.hpp文件 hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该cpp文件即可,无需再 将cpp加入到project中进行编译。而实现代码将直接编译到调用者的obj文件中,不再生成单独的obj,采用hpp将大幅度减少调用 project中的cpp文件数与编译次数,也不用再发布烦人的lib与dll,因此转载 2014-12-07 20:56:48 · 563 阅读 · 0 评论 -
C++ 容器及选用总结
http://www.cnblogs.com/answeryi/archive/2011/12/16/2289811.html目录====================================================第一章 容器第二章 Vector和string第三章 关联容器第四章 迭代器第五章 算法转载 2015-01-30 17:11:43 · 456 阅读 · 0 评论 -
【C++ 学习笔记】 size_t 和 int
总的来说:size_t 是无符号的整型,int 是 有符号的整型。size_t 是unsigned integer type 的别名,定于与头文件,常用于表示大小和字符长度,在一些函数如sizeof() 或者size()中使用。size_t 中特别定义了一个标识:npos。在一些函数中表示失败的返回值。如在size_t string::find()中,如果没有找到字符串,那转载 2014-12-07 21:06:04 · 544 阅读 · 0 评论 -
C/C++之回调函数
http://www.cnblogs.com/chenyuming507950417/archive/2012/01/02/2310114.html今天讨论下C/C++中的回调函数。 在理解“回调函数”之前,首先讨论下函数指针的概念。函数指针(1)概念:指针是一个变量,是用来指向内存地址的。一个程序运行时,所有和运行相关的物件都是需要加载到内存中转载 2015-01-30 21:17:45 · 460 阅读 · 0 评论 -
C++构造函数初始化列表与赋值
C++类中成员变量的初始化有两种方式: 构造函数初始化列表和构造函数体内赋值。下面看看两种方式有何不同。 成员变量初始化的顺序是按照在那种定义的顺序。1 内部数据类型(char,int……指针等)class Animal{public: Animal(int weight,int height): //A初始化列转载 2014-12-23 22:37:27 · 585 阅读 · 0 评论 -
C++中的内存对齐
内存对齐 在我们的程序中,数据结构还有变量等等都需要占有内存,在很多系统中,它都要求内存分配的时候要对齐,这样做的好处就是可以提高访问内存的速度。 我们还是先来看一段简单的程序: 程序一 1 #include iostream> 2 using namespace std;转载 2014-12-25 16:49:26 · 524 阅读 · 0 评论 -
C++ operator关键字(重载操作符)
http://blog.sina.com.cn/s/blog_4b3c1f950100kker.html operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名。 这是C++扩展运算符功能的方法,虽然样子古怪,但也可以理解:一方面要使运算符的使用方法与其原来一致,另一方面扩展其功能只能通过函数的方式(c++中,转载 2015-02-03 15:58:12 · 566 阅读 · 0 评论 -
c++ 总结
1、overload 重载相同的范围函数名相同参数不同,返回值不在检测之列virtual可有可无2、override 重写派生类与子类函数名相同参数相同必须要有virtual3、overwrite派生类与子类函数名相同参数相同无virtual原创 2017-08-02 10:29:19 · 409 阅读 · 0 评论