C/C++
denlee
这个作者很懒,什么都没留下…
展开
-
C++ shared_ptr
std::shared_ptr或者boost::shared_ptr通过对象引用计数来管理对象内存,实现对象内存共享。只要理解了无序容器的原理,也可以作为无序容器的键值。但是要实现共享,前提是要事先已知对象的指针,感觉这一点在容器应用时不是那么方便。懒得打字了,分享几篇博文算了,有这几篇博文再加上官方文档应该可以较好理解了:C++11 shared_ptr智能指针(超级详细) - MaxBruce - 博客园智能指针之共享指针shared_ptr 的理解、使用(全)_aishuirenjia的.原创 2021-12-07 17:39:27 · 633 阅读 · 0 评论 -
C++ map使用自定义比较函数
C++的map容器可以建立映射,如果key使用自定义类,需要重载operator<运算符,但是由于find方法使用operator<来完成, 因此常常会遇到意想不到的意外。尽管有人说可以通过std::find_if通过重载operator==运算来保证可靠查找,但是也会遇到意想不到的意外。以下的代码中,几种方法在find时均会遇到意想不到的意外,无法可靠find相应的key。//// Created by Denlee on 21-12-5.//#include <map原创 2021-12-05 23:03:12 · 2737 阅读 · 0 评论 -
Netbeans, Eclipse, Atom编辑器备忘
原来一直使用gedit结合SciTE编辑源文件,发现有点累,这两个编辑器虽有语法高亮,可对项目的支持不是很好。于是开始尝试其他编辑器。1. atom atom小巧,打开速度快,界面美观舒适,主题养眼,适合熬夜。当时觉得很好用,还给他人进行了推荐;用了一段时间,发现当源文件行数一多,atom就来问题了,资源占用过高,导致假死。只能放弃,转回eclipse。2....原创 2020-03-19 12:47:51 · 333 阅读 · 0 评论 -
SimpleScalar Install Guide
1. IntroductionThe following text describes the procedure of installing the simulator Simplescalar [1] on a modern Linux distribution. The p原创 2011-07-28 10:37:08 · 2558 阅读 · 0 评论 -
关于VC产生伪随机数
VC2010的rand产生的随机数范围是0~0x7fff,也就是16位的伪随机数,有时可能不够用。产生32位伪随机数的比较好的算法是由Takuji Nishimura 和 Makoto Matsumoto于1997年开发的一种随机数生成方法,它基于有限二进制字段上的矩阵线性再生,可以快速产生高质量的伪随机数,该算法的循环周期为219937-1,俗称MT19937算法。现在又有了这种算法的改进,并且原创 2012-01-12 16:23:23 · 1138 阅读 · 0 评论 -
C++类成员函数指针
搜到一篇不错的文章,解释比较详细,转过来。原文链接:http://blog.csdn.net/maojudong/article/details/8194143测试目录:1.普通函数指针指向普通函数2.普通函数指向非静态成员函数3. 类外部的 类函数指针 指向普通函数4. 类外部的 类函数指针 指向成员函数5. 类内部的 函数指针 指向成员函数转载 2013-11-01 15:12:01 · 7378 阅读 · 0 评论 -
关于C++的重载等问题
呵呵,基础不牢靠呀。总是搞不清楚C++的重载,因此总是用错,网上搜索原来是经常和重写、重定义搞混淆。转载一篇不错的总结性的博文。原文链接地址:http://www.wutianqi.com/?p=3171。没有经过任何修改和代码验证,只是通过阅读此篇博文解决了自己的问题,因此直接转载过来,如下。C++ 重载(overload)、重写(overrride)、重定义(redefine)转载 2013-11-09 16:07:46 · 961 阅读 · 0 评论 -
遇到gcc编译的2个问题,mark以便查阅
[精彩] 关于可变参数的函数定义方法(转贴)http://www.chinaunix.net 作者:xhl 发表于:2004-04-21 22:20:38【发表评论】【查看原文】【C/C++讨论区】【关闭】那天无意中发现这个帖子,感觉写的不错,那到这里来,给大家共享一下! 某些情况下希望函数的参数个数可以根据转载 2014-05-11 23:30:54 · 633 阅读 · 0 评论 -
C语言和C++语言的函数调用
C语言和C++语言的函数调用denlee 2009年5月27日摘要:尽管C/C++函数缺省采用cdecl调用规范,但是二者在细节处理上还是有一些差别。使用VC++编译器默认为__cdecl调用规范,C语言函数严格遵守此规范,但是对于C++函数由于可以重载,即几个函数的函数名可以相同,但是参数类型或参数个数必须不同,因此C++的输出函数名要能反映函数的调用规范、参数个数甚至参数类型等。为了能原创 2009-05-27 14:53:00 · 5188 阅读 · 2 评论 -
C语言实现矩阵相乘
介绍了C语言实现矩阵相乘的常见算法,并考虑优化程序,提高性能介绍了改进的算法。1.矩阵相乘矩阵相乘应满足的条件: (1) 矩阵A的列数必须等于矩阵B的行数,矩阵A与矩阵B才能相乘;(2) 矩阵C的行数等于矩阵A的行数,矩阵C的列数等于矩阵B的列数;(3) 矩阵C中第i行第j列的元素等于矩阵A的第i行元素与矩阵B的第j列元素对应乘积之和,即.如则:原创 2009-05-21 17:22:00 · 64501 阅读 · 3 评论 -
变长参数思考[原]
变长参数思考[原]Denlee, 2009年6月4日 cdecl调用规范和stdcall调用规范都支持变长参数,由于这两种规范都是通过堆栈传递入口参数,并且入栈顺序都是由右至左,这保证了函数的第一个入口参数离堆栈中的返回地址最近,这样可以很方便的通过堆栈帧基指针ebp来访问,如下图所示:图1 函数堆栈示意图 但是变长参数有2个问题,一个是参数个数的问题,另一个是参数类型的问题。对于参数个数的问原创 2009-06-04 11:20:00 · 721 阅读 · 0 评论 -
C语言中的无符号整数
1. 如何判断一个数为无符号整数#define ISUNSIGN(A) ((A)>=0 && ~(A)>=0)2. 求无符号整数数值的负值 unsigned int u = 2247483648U;#ifdef _MSC_VER __int64 i64;#else long原创 2011-07-16 11:40:46 · 2388 阅读 · 0 评论 -
C语言回调函数与函数指针
在层次化程序设计中,上层模块可以直接调用下层模块的函数,而下层模块一般不能直接调用上层模块的函数。而实际情况中却常常存在层间相互依赖的情况,即层间相互调用函数,例如,层B的状态变化需要通知层A或者引起层B的状态变化,为了避免这种相互依赖,可以使用回调函数。假设层A位于层B的上层,原创 2011-07-16 11:34:53 · 4098 阅读 · 0 评论 -
顺序栈的实现
今天回过头来看了看顺序栈的实现,尽管C++使用模板类实现很方便,但是C语言也有一个较为简单的变通的方法;Java实现也比较方便。(1) C++代码: //C++顺序栈#include #define STACKSIZE 50template class STACK{ private: T *base; T *top; int size; p原创 2009-03-17 18:08:00 · 962 阅读 · 0 评论 -
MinGW
下载:http://prdownloads.sourceforge.net/mingw TDMs GCC/mingw:http://www.tdragon.net/ 可视化的集成开发环境MinGWStudio2.05:http://c.pku.edu.cn/software/c/MinGWStudioFullSetup-2.05.zip原创 2009-05-08 08:34:00 · 707 阅读 · 0 评论 -
Windows环境下的C程序设计环境
原文链接:http://c.pku.edu.cn/courses/c/helpcenter/tutorial/progenv/tutorial-all-pages Windows环境下的C程序设计环境 Note: Return to tutorial view. MS Visual Studio 2005, GCC/GDB/MINGW, VIM/SciTE/PSPAD/使用配置初步转载 2009-05-13 22:17:00 · 3226 阅读 · 0 评论 -
MinGW的环境配置
这一段时间使用MinGW32,关于环境配置,通过查阅资料以及自己的使用,总结如下(添加环境变量):C_INCLUDE_PATH:D:/mingw/include;D:/mingw/lib/gcc/mingw32/4.2.1-sjlj/includeGCC_EXEC_PREFIX:D:/mingwLIBRARY_PATH:D:/MinGW/lib;D:/mingw/lib/gcc/min原创 2009-05-17 20:34:00 · 712 阅读 · 0 评论 -
函数调用规范[转载]
函数调用规范原文链接: http://blog.chinaunix.net/u/8780/showart.php?id=146302当高级语言函数被编译成机器码时,有一个问题就必须解决:因为CPU没有办法知道一个函数调用需要多少个、什么样的参数。即计算机不知道怎么给这个函数传递参数,传递参数的工作必须由函数调用者和函数本身来协调。为此,计算机提供了一转载 2009-06-02 12:12:00 · 554 阅读 · 0 评论 -
C51中的函数
在C51中,函数的定义与ANSI C相同,只是C51的函数在函数后面可以根据需要加若干C51的关键字。C51函数定义的格式:[返回值类型] 函数名([形参表]) [函数模式] [reentrant] [inerrupt n] [using n]函数模式:small|compact|large,没有明确指定存储类型的变量、函数参数等数据的默认存储区reentrant:可重入函数i原创 2009-06-12 21:58:00 · 1749 阅读 · 0 评论 -
有期限的任务安排--贪心算法
今天看卢开澄老师老师的算法设计与分析,看到“有期限的任务安排”,感觉书中算法的描述有点晦涩,可能还有一处小错误:S3. 若b(r(s))>=b(i),则转S4;否则,转S6个人感觉,“否则,转S5(后移任务列表中的任务,插入任务i)” 贴上算法实现:/*贪心算法有期限的任务安排*/#include #include //任务数#define N 7原创 2010-01-13 23:34:00 · 3758 阅读 · 1 评论 -
SystemC 数据类型
SystemC 数据类型的学习笔记原创 2010-06-22 16:51:00 · 4512 阅读 · 0 评论 -
C++中关于原始数据类型指针变量的new操作以及delete操作
分析了对原始数据类型的指针变量的new以及delete操作。原创 2010-11-06 15:05:00 · 1549 阅读 · 1 评论 -
如何检查C++中的内存泄漏
如何检查C++中的内存泄漏转载 2011-03-21 20:26:00 · 706 阅读 · 0 评论 -
C++字符串完全指引[转]
由Michael Dunn写的"The Complete Guide to C++ Strings"系列,两部分,中文由Chenjie Sun翻译。转载于VC知识库。第一部分: C++字符串完全指引之一 —— Win32 字符编码转载链接: http://www.vckbase.com/document/viewdoc/?id=1082第二部分: C++字符串完全指引之二 —— 字符串转载 2008-10-14 16:48:00 · 1735 阅读 · 0 评论