C++
文章平均质量分 65
chenwk891
这个作者很懒,什么都没留下…
展开
-
C11下用于计时程序的代码
这种写法能计算程序运行的实际时间,而不是旧版本中计算的是CPU上所有线程运行时间之和。原创 2015-05-03 15:00:24 · 1064 阅读 · 0 评论 -
LINK Error
C++所有错误中,link error是最让人头疼的。如果是自己写的代码,通过不断地修改和编译,防止错误累积,link error还是可以及时避免的。通常,自己写的代码经常会出现的link error主要是由于析构函数没有定义,或者互相包含头文件等,但是这些错误都可以通过养成一个良好的编程习惯来加以避免。最为头疼的是,当你不得不用别人写的代码的时候,他的代码出现link error,你如何原创 2013-05-29 15:31:44 · 2520 阅读 · 0 评论 -
配库时需要注意的一些地方
写图形学的C++代码时,需要配置原创 2014-04-12 14:05:15 · 651 阅读 · 0 评论 -
C++调用Matlab && Matlab调用C++
http://social.msdn.microsoft.com/Forums/en-US/74ce2a70-1284-49c4-8c30-08184486c8f7/using-engineh-to-link-c-to-matlab?forum=vclanguage转载 2014-05-06 11:46:19 · 2890 阅读 · 0 评论 -
glDisable(GL_COLOR_MATERIAL)
今天调试一段OpenGL的代码花了很长时间,原因是设置了很多材质参数,但是原创 2014-04-15 01:00:04 · 4437 阅读 · 1 评论 -
const用法大全
本文为转载原文出处:http://www.cnblogs.com/wintergrass/archive/2011/04/15/2015020.htmlC++作为一种面向对象的经典语言,它是非常的强大,它的每个部分都值得我们去深入了解。const的基本概念: const名叫常量限定符,用来限定特定变量,以通知编译器该变量是不可修改的。习惯性的使用const,转载 2014-02-06 00:21:38 · 1768 阅读 · 0 评论 -
OpenGL&GLUT入门学习
本文为转载,原文出处:OpenGL入门学习说起编程作图,大概还有很多人想起TC的#include 吧?但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640*480分辨率、16色来做吗?显然是不行的。本帖的目的是让大家放弃TC的老旧图形接口,让大家接触一些新事物。OpenGL作为当前主流的图形API之一,它在一些场合具有比Dir转载 2014-01-03 13:27:53 · 7292 阅读 · 3 评论 -
string变量是不是以\0结尾
string变量到底是不是以\0结尾?string a = "abc"; string b = "\0\0\0"; if (a[3] == '\0') cout << "yes" << endl; else cout 以上代码在VS2010里面会报错,说下标out of range。于是又尝试一下代码:string a = "abc"; st原创 2013-12-16 12:30:32 · 1640 阅读 · 1 评论 -
const用法小注(实时更新)
在函数里,如果用const修饰形参可以防止输入参数被无意改动。因此,许多有经验的程序员都会建议新手在能够使用const的情况下,都尽量使用const。如:float clamp(const float x, const float low, const float high) { return (x high ? high : x));}如上,如果输入值x, low 和hi原创 2013-06-07 20:07:33 · 676 阅读 · 0 评论 -
一个有关typedef的找错题以及typedef详解
不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己写的内容)。用途一:定义一种类型的别转载 2013-11-02 22:00:22 · 538 阅读 · 0 评论 -
const int *x 和 int * const x, const int& x和 int const &x的区别
关键问题点:const 属于修饰符 ,关键是看const 修饰的位置在那里1、const int *a这里const 修饰的是int,而int定义的是一个整值因此*a 所指向的对象 值 不能通过 *a 来修改,但是 可以重新给 a 来赋值,使其指向不同的对象eg: const int *a = 0; const int b = 1; int c = 1; a转载 2013-11-02 20:49:40 · 3784 阅读 · 1 评论 -
如何读取文件中每行个数不定的int数值
如果需要对文件中的每行数据进行分别处理,比如,每行的格式是:Name ID number1 number2... numberN如果我们需要读取后面不定个数的int数值,并存储到数组里,C++似乎没有现成的函数或者操作符可以满足这个要求。于是乎,自己动手写一个。 //open the input file ifstream infile; string原创 2013-11-15 16:23:13 · 1125 阅读 · 0 评论 -
map排序及有条件查找
Mark一下C++ STL中Map的按Key排序和按Value排序转载 2014-06-16 19:46:35 · 675 阅读 · 0 评论 -
关于C++中的友元函数的总结
转载自:http://www.cnblogs.com/BeyondAnyTime/archive/2012/06/04/2535305.html1.友元函数的简单介绍1.1为什么要使用友元函数在实现类之间数据共享时,减少系统开销,提高效率。如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是类B的友元函数。具体来说:为了使其他类的成员函转载 2014-07-11 20:56:49 · 588 阅读 · 0 评论 -
自动识别OpenCV版本并添加依赖库
转载自:http://blog.csdn.net/chenyusiyuan/article/details/8706177这里给大家介绍一种在头文件中自动判断识别OpenCV的版本号,并据此添加对应的依赖库(.lib文件)的方法。具体代码如下:#ifndef _PREDEP_H_#define _PREDEP_H_ #pragma once #include "ta转载 2015-03-14 12:01:38 · 673 阅读 · 0 评论 -
一些你也许不知道的#define 用法
#define Conn(x,y) x##y#define ToChar(x) #@x#define ToString(x) #xx##y表示什么?表示x连接y,举例说:int n = Conn(123,456); 结果就是n=123456;char* str = Conn("asdf", "adf")结果就是 str = "asdfadf";怎么样,很神奇吧转载 2015-03-28 17:24:39 · 623 阅读 · 0 评论 -
转载Const全面总结
原文地址:http://blog.sciencenet.cn/blog-606606-516786.html转载 2015-03-09 11:38:43 · 467 阅读 · 0 评论 -
CGAL get intersection primitive id
#include iostream> #include CGAL/Simple_cartesian.h> #include CGAL/AABB_tree.h> #include CGAL/AABB_traits.h> #include CGAL/Polyhedron_3.h>转载 2014-12-27 11:23:47 · 1704 阅读 · 0 评论 -
Window7下安装CGAL(VS2013)
从事graphics的研究,难免要经常安装CGAL。CGAL十分强大,但是安装起来相对比较麻烦(对boost等库的依赖)。不过我今天想说的是,其实如果按照如下所述流程,按照CGAL其实也挺简单。首先说下安装环境:Win7+VS2013 安装Boost1.5.5+CGAL4.41. 由于CGAL对boost有依赖,首先需要按照boost。方便起见直接下载boost binar原创 2014-12-26 15:01:10 · 4489 阅读 · 9 评论 -
C++中相对路径与绝对路径以及斜杠与反斜杠的区别
原文出处:http://blog.csdn.net/sszgg2006/article/details/8447176文件路径 正斜杠和反斜杠正斜杠,又称左斜杠,符号是"/";反斜杠,也称右斜杠,符号是"\"。文件路径的表示可以分为绝对路径和相对路径:1、绝对路径表示相对容易,例如pDummyFile =fopen("D:\\vctest\\glTexture\\texture\\转载 2014-10-13 13:33:57 · 830 阅读 · 0 评论 -
QGLViewer (For Visual Studio) 的配置
1. 首先安装Qt,网上很多教程可自行搜索。2. 下载并安装QGLViewer,点击打开链接 http://www.libqglviewer.com/index.html- 用binary instller先安装一遍- 下载 libQGLViewer-2.5.0.zip , 编译并生成QGLViewerd2.lib、QGLViewer2.lib和QGLViewerd2.dll、QGLV原创 2013-12-30 23:22:16 · 6148 阅读 · 1 评论 -
使用STL vector的几种清空容器(删除)办法
转载自:vector int> vecInt; for (int i=0;i { vecInt.push_back(i); } int j= vecInt.capacity(); //j=512 i = vecInt.size(); //i=500 第一种转载 2014-06-21 12:16:05 · 1920 阅读 · 0 评论 -
Customize the file name and saving directory
Some fragments of code for customizing the file name and saving directory. Customizing the file name with index://Output the customized files into specified folderchar directory[15] = "cells";原创 2013-06-04 11:21:11 · 811 阅读 · 0 评论 -
多维vector初始化及清零
转载自:assign() 对Vector中的元素赋值void assign( input_iterator start, input_iterator end ); //void assign( size_type num, const TYPE &val );reserve() 设置Vector最小的元素容纳数量 函数为当前vector预留至少共容纳size个元素转载 2014-06-20 23:57:07 · 2273 阅读 · 0 评论 -
二维/多维vector在未知维度的前提下的赋值操作
在很多时候,类中二维数组的原创 2014-06-21 15:28:16 · 4348 阅读 · 0 评论 -
用stringstream读取数据
思想:全部读到一个字符串里,遇到","就换成空格,然后用这个字符串构造一个stringstream, 用>>读到数组里。stringstream用法分为istream和ostringstream.1 std::string name("zeta");2 int age = 27;3 4 ostringstream os;5 o转载 2013-11-15 15:31:41 · 4419 阅读 · 0 评论 -
.h, lib和dll文件的功能和区别
简而言之(1).h是头文件,lib和dll都是库文件。(2)头文件包含声明,库文件则包含实现。(3)lib是静态链接时使用的,如果采用静态链接库,则lib包含了实际执行代码和符号表等,无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了(因此比较耗费内存)。dll用于动态链接,该 dll 不必被包含在最终 EXE 文件中,EXE 文转载 2013-10-25 11:44:23 · 3653 阅读 · 0 评论 -
C/C++定义全局变量/常量几种方法的区别
在讨论全局变量之前我们先要明白几个基本的概念:1. 编译单元(模块): 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌入式下做开发工作的话,那么你可能非转载 2013-06-27 15:16:12 · 551 阅读 · 0 评论 -
c 和 c ++ 混合代码 cmath编译出错
1>f:\program files\microsoft visual studio 10.0\vc\include\cmath(19): error C2061: syntax error : identifier 'acosf'1>f:\program files\microsoft visual studio 10.0\vc\include\cmath(19): error C2059:转载 2013-06-09 11:38:35 · 2726 阅读 · 0 评论 -
C语言中没有定义bool类型
今天才发现C语言中原来没有定义bool类型。如果要在C语言中使用bool类型,可以自己定义。定义方式如下:#ifndef __cplusplustypedef char bool;#define false 0#define true 1#endif原创 2013-05-29 15:36:44 · 5553 阅读 · 0 评论 -
如何解决向容器里压入类的对象,但类的对象被析构的问题
当需要用vector以及map等容器存储一些类的对象时,如果这个类里数据成员有一些new出来的指针,那么当你压入这个对象时有可能里面的指针就被析构掉了。如果你压入的是这个对象的指针,但是由于这个指针指向的是这个对象的地址,如果这个对象发生了变化,原先压入的对象也会发生相应的变化。以下是一些错误的做法voronoicell c;map cells_1;map cells_2;whi原创 2013-04-30 12:02:07 · 984 阅读 · 0 评论 -
有关map压入对象后,对象的数据成员发生改变的问题
今天调试程序时发现, 执行向map插入一个类的对象之后(或者说在插入该对象时),该对象的数据成员(一个一维的指针)的内容发生改变,但其他数据成员(如int变量)却没有变化。但把插入的元素改为指向该对象的指针时,就没有出现这样的问题。代码如下:voronoicell c;con.Cells.insert(make_pair(cell_id,c));c中有个double *pts的指针原创 2013-04-21 21:31:24 · 1317 阅读 · 0 评论 -
有关使用map的错误
最近刚刚开始使用map,运行时出现了一个错误,程序和错误代码如下:#include "Point3D.h"#include void main(){ int num_vertex = 10; Point3D *vertices = new Point3D[num_vertex]; for (int i=0; i<num_vertex; i+=3) { ve原创 2013-04-20 22:50:34 · 1890 阅读 · 0 评论 -
结构体初始化
结构体变量的初始化和其他类型变量一样,对结构体变量可以在定义时指定初始值。如struct Student{ int num; char name[20]; char sex; int age; float score; char addr[30];}student1={10001,"Zhang Xin",'M',19,90.5,"转载 2013-04-26 12:42:34 · 615 阅读 · 0 评论 -
继续二维指针
最近一直在跟二维指针打交道,感觉还是没有把它弄透,因此搞了几个测试观察一下二维指针的特性。 #include using namespace std;void main(){ int **ed = new int *[3]; for (int i = 0; i<3; i++) { ed[i] = new int[3]; } for (int i原创 2013-04-12 22:27:24 · 509 阅读 · 0 评论 -
c++二维指针
概括的说,指针其实就是可变数组的首地址,说是可变数组,是 指其包含内容的数量的可变的,并且是可动态申请和释放的,从而充 分节约宝贵的内存资源。我一向喜欢一维数组,除非万不得已,我一 般是不用二维数组的,多维的则更是很少涉足了。因为一维简单,容 易理解,而用指针指向的多维数组就具有相当的复杂性了,也因此更 具有讨论的必要。 闲话少说,这里我就以三个二维数组的比较来展开转载 2013-04-11 14:09:24 · 614 阅读 · 0 评论 -
C++文件读写函数之——fgets和fputs、fread和fwrite、fscanf和fprintf
字符串读写函数fgets和fputs一、读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为: fgets(字符数组名,n,文件指针); 其中的n是一个正整数。表示从文件中读出的字符串不超过 n-1个字符。在读入的最后一个字符后加上串结束标志”。例如:fgets(str,n,fp);的意义是从fp所指的文件中读出n-1个字符送入 字符数组str中。转载 2013-04-08 20:46:06 · 4493 阅读 · 0 评论 -
C++文件读写函数之——fopen、fread和fwrite、fgetc和fputc、fgets和fputs、ftellf和fseek、rewind
在c\C++中,文件操作都是由库函数来实现的,主要是分为读和写两种操作,以下详细讲解以下所有有关文件操作的邯郸乎的用法:(1)fopen()函数:打开文件包含头文件:#include格式:FILE * fopen(const char * path,const char * mode);参数: path:需要打开的文件路径 mode:文件打开方式r转载 2013-04-09 10:49:36 · 5452 阅读 · 1 评论 -
C++ string用法详解
C++ string 详解 任何人对本文进行引用都要标明作者是Nicolai M.Josuttis ///////////////////////////////////////////////////////////////////////////////////C++ 语言是个十分优秀的语言,但优秀并不表示完美。还是有许多人不愿意使用C或者C++,为什么?原因众多,其中之一就是转载 2013-07-13 15:04:02 · 758 阅读 · 0 评论 -
如何用fstream读取空格(推荐!!!)
很早之前就想写点什么东西,可是一直都没有这个心静下来,最近终于有时间了,想想自己的水平也不算什么,还敢在网上发表谬论,深感惶恐,希望高手们不要扔我砖头,也希望这点东西对新手有些许帮助。大家共同学习共同进步吧。 我想c++的文件操作也不是很难,想必大家都会,所以今天就说说我以前遇到过的一些问题,希望对大家有用。 设定:我打算要将一篇英文文章读取到内存中,顺便可能对文件做一些操作。转载 2013-07-13 10:17:06 · 6196 阅读 · 1 评论