c-c++
文章平均质量分 88
tingzhushaohua
学习
展开
-
C++回顾之C与C++区别_00
对阶段性笔记进行整理,以便简单回顾C++与C的几大区别1.类型检查更严格const int a;//c语言中编译可以通过,c++中不可以通过 int const a;//两个一样的char *p = malloc(100); //c中可以编译可以通过,c++中不可以通过2.内置bool类型C语言直到C99标准才增加了对布尔类型的支持,关键字为_Bool,因为bool已经被C++用了,所以选了这个十原创 2017-04-09 13:38:17 · 428 阅读 · 0 评论 -
More Effective C++:Item 1-Item 8读书笔记
Item M1:指针与引用的区别在以下情况下你应该使用指针,一是你考虑到存在不指向任何对象的可能(在这种情况下,你能够设置指针为空),二是你需要能够在不同的时刻指向不同的对象(在这种情况下,你能改变指针的指向Item M2:尽量使用C++风格的类型转换static_cast在功能上基本上与C风格的类型转换一样强大,含义也一样; const_cast用于类型转换掉表达式的const...原创 2018-08-19 18:02:44 · 298 阅读 · 0 评论 -
再次学习《Effective C++》01
背景: C++的难学,不仅在其广博的语法,以及语法背后的语义,以及语义背后的深层思维,以及深层思维背后的对象模型;C++的难学还在于它提供了四种不同而又相辅相成的编程范型 (programming paradigms):procedural-based,object-based,object-oriented,generics(泛型形式)。用途: 这本书的最佳用途就是彻底了解C++如何行为...原创 2018-06-02 17:35:09 · 592 阅读 · 0 评论 -
opencv的FileStorage 读取文件的问题
问题:源码如上,尝试若干次后发现一直打开文件失败,跟踪进去发现fs的第一个参数会乱码。解决方法:将编译器改为Release,完成OpenCv的配置即可成功 。具体原因还不是很清楚,感觉是lib的问题,但是release和debug配置一样。...原创 2018-03-03 23:30:32 · 6262 阅读 · 9 评论 -
程序员的自我修养第七章读书笔记-动态链接
动态链接的确有很多优势,比静态链接要灵活得多,但它是以牺牲一部分性能为代价的。据统计ELF程序在静态链接下要比动态库稍微快点,大约为1%-%5,当然这取决于程序本身的特性及运行环境等。我们知道动态链接比静态链接慢的主要原因是动态链接下对于全局和静态的数据访问都要进行复杂的GOT定位,然后间接寻址;对于模块间的调用也要先定位GOT,然后再进行间接跳转,如此一来,程序的运行速度必定会减慢。原创 2017-12-31 17:53:55 · 323 阅读 · 0 评论 -
程序员的自我修养第七章读书笔记-动态链接2
显式运行时链接支持动态链接的系统都支持一种更加灵活的模块加载方式,叫做显示运行时链接(Explicit Run-time Linking),有时也叫运行时加载。也就是让程序自己在运行时控制加载指定的模块,并且可以在不需要该模块时将其卸载。一般的共享对象不需要进行任何修改就可以进行运行时装载,这种共享对象往往被叫做动态装载库(Dynamic Loading Library)。原创 2018-01-02 11:27:54 · 323 阅读 · 0 评论 -
《程序员的自我修养》读书笔记
Liunx对多线程的支持颇为贫乏,事实上,在Linux内核中并不存在真正意义上的线程概念。Linux将所有的执行实体(无论是线程还是进程)都称为任务,每一个任务概念上都类似于一个单线程的进程,具有内存空间、执行实体、文件资源等。不过,Linux下不同的任务之间可以选择共享内存空间,因而在实际意义上,共享了同一个内存空间的多个任务构成了一个进程,这些任务也就成了这个进程里的线程。当线程数量小于处理器原创 2017-12-08 20:55:40 · 254 阅读 · 0 评论 -
Cmake编译Vxl(配置开源项目Gloma)
步骤一 使用CMake编译vxl: 只支持静态编译,所以无生成dll 1.BUILD_SHARED_LIBS: 选项要是false。该库暂时不支持编译动态库; 2.出现: error C2039: “snprintf”: 不是”std”的成员. 解决方法:在源码中找到vcl/vcl_cstdio.h,在第28行加入 VCL_VC_10,对应于Visual Studio 2010。(2013原创 2017-11-10 12:11:45 · 1339 阅读 · 0 评论 -
LIB和DLL的区别与使用
共有两种库: 一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。 一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。转载 2017-08-15 13:17:02 · 406 阅读 · 0 评论 -
C++中类成员函数作为回调函数
转载自:http://blog.csdn.net/this_capslock/article/details/17001003回调函数是基于C编程的Windows SDK的技术,不是针对C++的,程序员可以将一个C函数直接作为回调函数,但是如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过。转载 2017-08-02 08:56:32 · 5252 阅读 · 3 评论 -
C++字符编码于MSVC和GCC之间的区别
转载自:http://blog.csdn.net/dbzhang800/article/details/7540905长期以来,很多人都清楚,一旦C++源码中直接使用了中文,这样的源码想要跨平台(I18N)会非常困难。随着:Windows下:MSVC2010成为主流Linux下:GCC升级到4.6C++中的中文问题 才算有了一个比较优雅的、跨平台的Workaround。转载 2017-08-08 14:27:50 · 1194 阅读 · 0 评论 -
float 和int转换是怎么做到的
那么真正存在内存里的这个二进制数,转化回十进制,到底是比原先的十进制数大呢,还是小呢?答案是It depends。转载 2017-08-04 18:14:42 · 64698 阅读 · 5 评论 -
C++获取类中成员函数的函数指针
注意调用类中非静态成员函数的时候,使用的是类名::函数名;而不是实例名::函数名。原创 2017-08-01 11:02:43 · 18074 阅读 · 1 评论 -
函数模板和类模板的区别
转自:函数模板与类模板有什么区别? 答:函数模板的实例化是由编译程序在处理函数调用时自动完成的,而类模板的实例化必须由程序员在程序中显式地指定,即函数模板允许隐式调用和显式调用而类模板只能显示调用 。这期间有涉及到函数模板与模板函数,类模板与模板类的概念 (类似于类与类对象的区别)转载 2017-07-18 23:16:42 · 2494 阅读 · 0 评论 -
cvutMatrix.h数据存储初始化及访问
CVUT(computer vision utility tools)是C++对OpenCv中的数据结构进行面向对象的封装,它是由cvutMatrix、cvutSeq、cvutImage、cvutUtil这四个名字空间组成,使用者可以根据这些名字的定义,直接调用所需要的方法。1.cvutMatrix.h中Matrix初始化构造函数:Matrix(int rows,int cols,int chann原创 2017-05-22 17:21:04 · 683 阅读 · 0 评论 -
C语言结构体字节对齐
考虑到cpu访问数据效率问题,提出字节对齐三原则:数据成员对齐规则struct或union的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小或者成员的子成员大小(只要该成员有子成员,比如说是数组、结构体等)的整数倍开始(比如int在32位机为4字节,则要从4的整数倍地址开始存储)。结构体作为成员如果一个结构体里有某些结构体成员,则结构体成员要从其内部原创 2017-05-04 15:41:02 · 491 阅读 · 0 评论 -
C++图形学之线性插值
原文链接// 图形学线性插值:已知三角形三个顶点的坐标以及需要插入的点P,首先判断P是否在三角形内,然后求解权重。#include <iostream>#include <math.h>const double eps = 1e-6;using namespace std;struct node{ double x, y; double w;}p[5];double dis原创 2017-05-04 13:16:55 · 4367 阅读 · 0 评论 -
C++回顾之C与C++区别_01
13.inline内联函数1)必须inline int myfunc(int a,int b)和函数体的实现,写在一块 2)被c++编译器内联编译的函数叫做内联函数,内联函数在最终生成的代码中是没有定义的 c++编译器直接将编译后的函数体插入在函数调用的地方,内联函数没有普通函数调用时的额外开销(压栈,跳转,返回) 3)c++编译器不一定准许函数的内联请求 4)内联函数是一种特殊的原创 2017-04-09 22:05:22 · 266 阅读 · 0 评论 -
undefined reference to库连接规则
转载自:https://blog.csdn.net/cserchen/article/details/5503556Linux下编译程序时,经常会遇到“undefined reference to XXX” 报错,这里总结一些可能的原因和解决方案,给需要的朋友: 说道undefined reference error,先提一下Linux gcc链接规则: 链接的时候...转载 2019-06-14 13:11:33 · 1275 阅读 · 0 评论