分类: Coding

31 篇文章

CGAL使用注意事项:添加编译需要的宏定义
CGAL函数库的源代码中存在很多根据宏定义判断函数实现方式的编译分治,在项目中使用CGAL函数库时,为了防止出现不可预知的编译错误,应该在编译代码前为项目添加预编译宏定义。 以MSVC为例:在项目工程属性(Properties)->Configuration->C/C++->Preprecessor->Preprocesso…
在windows下编译boost开源库
一、从项目网站下载boost源代码 http://www.boost.org/users/download/ 二、编译boost库 1. 生成编译工具集(b2.exe等) 解压源文件代码到指定的boost根目录,并执行该目录下的批处理文件:bootstrap.bat,编译生成b2.exe等文件 2. 编译生成函数库 // vc2009-32位 b2…
在VS中使用CUDA时的一些注意事项
1. 尽量不要将__host__函数与(__device__以及__globle__)函数放在同一个文件中,否则调试时会出现当前statement指针错行的问题。(bug?) 2. 如何解决VS中无法使用NSight同时对GPU和CPU代码设置断点进行调试的问题。
指针与const限定符
(1) 指向const对象的指针(常量指针) // 常量指针的两种形式 const int *ptr; // 推荐 int const *ptr; C++强制指向const对象的指针必须具有const特性。此处const限定的了ptr指针所指向的对象的类型,而不是ptr指针本身。如果有需要,可以给指向const对象的指针重新赋值,使其指向另一个co…
栈(stack):后入先出(LIFO),有入栈Push、出栈Pop等操作。 一个简单的栈(Stack)实现(基于数组): #pragma once #include #include using namespace std; template class MyStack { public: MyStack(void) : top(-1) {} ~M…
二叉查找树
二叉查找树(Binary Search Tree): 二叉查找树是一种特殊的二叉树。树中的每一个节点都父节点,左子节点,右子节点。左子节点小于等于该节点,右子节点大于等于该节点。 二叉查找树包含Search, Minimum, Maximum, Predecessor(前趋), Successor(后续), Insert, Delete等操作。这些…
使用模板类为什么出现“unresolved external symbol”?
在使用模板类时,如果将模板类的声明和实现分别放在.H和.CPP文件中的话,在使用该模板类时会遇到连接错误:“Wunresolved external symbol”。 原因如下:模板类、模板函数直到其被使用时才会实例化,当一个模板类被使用时,编译器需要其成员函数的完整代码才可以建立指定类型的函数版本。然而,当函数实现在额外的.CPP文件中时,编译器…
派生类的构造与析构
(1) 函数执行顺序 派生类构造时:首先调用基类的构造函数,然后调用派生类自身的构造函数。 派生类析构时:首先调用派生类自身的析构函数,然后调用各基类的构造函数。 #include class A { public: A(void) { cout << "base: A constructor" << e…