![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程开发
文章平均质量分 70
joyyoj
这个作者很懒,什么都没留下…
展开
-
小结下常用的函数
MFC中WString与string互相转换 //Converting a WChar string to a Ansi string std::string WChar2Ansi(const wchar_t* pwszSrc) { int nLen = WideCharToMultiByte(CP_ACP, 0, pwszSrc, -1, NULL, 0, NU原创 2009-11-04 19:56:00 · 686 阅读 · 0 评论 -
总结下C++下的单元测试
<br />现在越来越发现单元测试在实际做项目时多么的重要,否则bug不断,不仅浪费自己的时间,更重要的是给其他人也带来了极大地不方便。<br />感觉boost提供的单元测试还是不错的,也相对比较简单。<br />如果要写多个测试用例,可以如下:<br />file1.cpp #include <boost/test/unit_test.cpp> .... BOOST_AUTO_TEST_SUITE(file1_test_suite) BOOST_AUTO_TEST_CASE(fr原创 2010-07-24 12:22:00 · 716 阅读 · 0 评论 -
windows下fopen遇到文件限制的解决方法
昨天遇到一个问题:打开shp文件到85个时,发现再添加shp就会报错。我一开始怀疑是缓存写的有问题,后来跟踪了下,才发现问题居然在fopen,又测试下一把fopen,如果fopen读取txt,发现在读取第510个文件时就会失败。于是怀疑是文件打开数目有限制,搜索了一把,更改config.NT重启计算机还是不行。最后是使用_setmaxstdio提高了上限。MSDN里的描述如下:C run-原创 2010-04-03 10:15:00 · 4572 阅读 · 1 评论 -
POJ1167
官网的解题报告:http://olympiads.win.tue.nl/ioi/ioi94/contest/day2prb2/index.html#include#include#include#include#include using namespace std;class Route{public: Route(int firstTime_,原创 2010-02-27 12:07:00 · 1440 阅读 · 1 评论 -
Qt应用程序发布遇到的问题及其解决
按照Qt的帮助文档Deploying qt application,但是还是出现了几个问题。1、Qt中文乱码的问题解决方案:1)、 QTextCodec *textCodec = QTextCodec::codecForName("GBK"); QTextCodec::setCodecForTr(textCodec); QTextCodec::setCodecForCStrings(textCod原创 2010-01-26 21:48:00 · 965 阅读 · 0 评论 -
0/1背包问题的分支限界
今天忽然想在C++中使用优先队列,印象中比较麻烦,翻了一下很久以前写的一段程序,贴上来。代码的主要功能就是0/1背包问题如何用优先队列的分枝限界算法实现。【实现部分主要参考了王晓东那本书上的算法】 #include #include #include #include using namespace std;class Object{ friend in原创 2009-11-24 21:29:00 · 1886 阅读 · 2 评论 -
【转】c判断大端小端模式
试题1:请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1解答: int checkCPU( ){ { union w { int a; char b;转载 2009-11-13 21:36:00 · 396 阅读 · 0 评论 -
C指针小结
1、二维指针的用法说明a[i]从形式上看是a数组中的第i个元素。如果a是一维数组,则a[i]代表a数组第i个元素所占的内存单元的内容。a[i]是有物理地址的,是占内存单元的。但如果a是二维数组,则a[i]是代表一维数组名。它只是一个地址(如同一维数组名只是一个指针常量一样)。a,a+i,a[i], *(a+i), *(a+i)+j, a[i]+j都是地址。*(a[i]+j)和*(*(a+i)+j)原创 2009-11-13 20:13:00 · 329 阅读 · 0 评论 -
C++堆、栈、自由存储区、全局/静态存储区和常量存储区收藏
一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放转载 2009-11-13 21:37:00 · 335 阅读 · 0 评论 -
高精度的精度问题
为了提高计算两个向量的点乘的精度,决定尝试对部分程序改用高精度,由此引来一个疑惑。比如程序原先使用double运行,这时只对小段代码使用高精度,所以需要首先把double类型的数据转换成高精度数据结构。但是会有一些不太直观的结果。比如a=1*23.4=23.999...。一开始我比较疑惑,输出a时,打印的a明明为23.4。后来我才想过来了,23.4在机器中无法精确表示,之所以打印出为23.原创 2009-11-10 22:18:00 · 616 阅读 · 0 评论 -
CMake学习小结
假定有vegagis工程,工程的目录结构如下:#--vegagis# |--src 源文件目录# |--gui 界面工程,输出类型:dll,依赖于QT的QtCore、QtGui、QtXml# |--pending 工程中的源文件,不希望加入到工程中# ## 为了实现跨平台运行,win32和linux目录下实现的是同一套接口,win32不编译原创 2011-01-13 11:08:00 · 9547 阅读 · 2 评论