c++
onlyonename
这个作者很懒,什么都没留下…
展开
-
socket通信基本流程
Server端:#include #include #include #include #include #include #include int serverPort = 8000;int main(){ struct sockaddr_in listeningSockAddr; struct sockaddr_in clientSockAddr; int原创 2013-02-03 16:13:15 · 765 阅读 · 0 评论 -
处理new分配内存失败情况
转自:http://www.51testing.com/html/70/n-827070.html在C++语言中,我们经常会使用new给一个对象分配内存空间,而当内存不够会出现内存不足的情况。C++提供了两中报告方式: 1、抛出bad_alloc异常来报告分配失败; 2、返回空指针,而不会抛出异常。 C++为什么会采用这两种方式呢?这主要是由于各大编译器公司设转载 2013-03-10 08:47:33 · 12956 阅读 · 0 评论 -
C/C++内存泄漏及检测
转自:http://www.cnblogs.com/skynet/archive/2011/02/20/1959162.html“该死系统存在内存泄漏问题”,项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败。内存泄漏是最难发现的常见错误之一,因为除非用完内存或调用malloc失败,否则都不会导致任何问题。实际上,使用C/C++这类没有转载 2013-03-10 09:50:30 · 1019 阅读 · 0 评论 -
探讨C++内存回收
转自:http://club.topsage.com/thread-541343-1-1.html3.1 C++内存对象大会战 如果一个人自称为程序高手,却对内存一无所知,那么我可以告诉你,他一定在吹牛。用C或C++写程序,需要更多地关注内存,这不仅仅是因为内存的分配是否合理直接影响着程序的效率和性能,更为主要的是,当我们操作内存的时候一不小心就会出现问题,而且很多时候,这些问题都是转载 2013-03-10 22:23:39 · 5675 阅读 · 0 评论 -
Visual C++中的C运行时库浅析
转自:http://www.bccn.net/Article/kfyy/vc/jszl/200608/4278.html1.概论 运行时库是程序在运行时所需要的库文件,通常运行时库是以LIB或DLL形式提供的。C运行时库诞生于20世纪70年代,当时的程序世界还很单纯,应用程序都是单线程的,多任务或多线程机制在此时还属于新观念。所以这个时期的C运行时库都是单线程的。转载 2013-03-10 22:38:22 · 790 阅读 · 0 评论 -
Placement new、operator new、new operator 完全释疑
转自:http://www.cnblogs.com/younes/archive/2010/04/26/1721528.html首先我们区分下几个容易混淆的关键词: new(也称作new operator)、operator new、placement new。看如下代码: 1: class MyClass {...}; 2: MyClass *p =转载 2013-03-14 22:58:58 · 570 阅读 · 0 评论 -
c++primer throw char*
转自:http://blog.163.com/jw_chen_cs/blog/static/20221214820123684046320/#include using namesapce std; void test(int t) { if(t > 10) throw "integer larger than 10!"; else cout "t = " t e转载 2013-03-14 23:04:24 · 592 阅读 · 0 评论 -
进程的通信方式
转自:http://blog.csdn.net/chen825919148/article/details/8146128进程的通信方式 (1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。 (2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进转载 2013-03-19 23:05:38 · 568 阅读 · 0 评论 -
腾讯2012实习生笔试题2+答案解析
转自:http://www.cnblogs.com/jerry19880126/archive/2012/08/13/2637079.html1、计算表达式x6+4x4+2x3+x+1最少需要做()次乘法A、3 B、4 C、5 D、6 2、给定3个int类型转载 2013-03-22 23:23:57 · 1707 阅读 · 0 评论 -
如何检测内存泄漏
转自:http://ztbls888.blog.163.com/blog/static/171817598201191111034723/编者按: 这几天在调试课本上关于二叉树的有关代码,发现严的这本数据结构教程喜欢把简单问题复杂化,当然这是从学生角度出发,从个人角度出发,这本书注重代码的可读性、重用等,更侧重于与软件工程、软件组织结合,当然是不错的教材。比如,其栈和队列的顺序实现,也都用转载 2013-03-10 08:45:05 · 685 阅读 · 0 评论 -
如何监测内存泄漏
转自:http://zhidao.baidu.com/question/176936319.html首先,我们检查了代码,发现所有的代码都是用new来分配内存,用delete来释放内存。那么,我们能够用一个全程替换,来替换掉所有的new和delete操作符吗?不能。因为代码的规模太大了,那样做除了浪费时间没有别的任何好处。好在我们的源代码是用C++来写成的,所以,这意味着没有必要替换掉所有的n转载 2013-03-10 08:44:00 · 558 阅读 · 0 评论 -
内存泄漏
转自:http://club.topsage.com/thread-541343-1-1.html2.1 C++中动态内存分配引发问题的解决方案假设我们要开发一个String类,它可以方便地处理字符串数据。我们可以在类中声明一个数组,考虑到有时候字符串极长,我们可以把数组大小设为200,但一般的情况下又不需要这么多的空间,这样是浪费了内存。对了,我们可以使用new操作符,这样是十分灵活转载 2013-03-10 22:34:15 · 756 阅读 · 0 评论 -
为什么构造函数不能声明为虚函数,析构函数可以
转自:http://blog.csdn.net/chen825919148/article/details/8020550构造函数不能声明为虚函数,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。不建议在构造函数和析构函数里面调用虚函数。构造函数不能声明为虚函数的原因是:1 构造一个对象的时候,必须知道对象的实际类型,而虚函数行为是在运行期间确定实际类型的。而在构造一转载 2013-01-19 00:52:54 · 2901 阅读 · 0 评论 -
c++的string类的所有函数及功能
转自:http://chaozaiai.blog.163.com/blog/static/91328155201223181041376/append 函数能将某字符串(或数据串)加到某字符串后面 assign 函数能将字符串(或数据串)的内容设定给某字符串 at 函数能回传字符串中位于某个位置的字符 begin 函数将回传该字符串的起始定位器 c_str 函数能将字符转载 2013-01-20 07:47:54 · 914 阅读 · 0 评论 -
C++获取一个目录下的所有文件
转自:http://www.yuloo.com/news/1007/448756.html #include #include using namespace std; void main() { _finddata_t file; long lf; if((lf = _findfirst("C:\\WINDOWS\\*.*", &file)转载 2013-01-20 07:37:06 · 10793 阅读 · 0 评论 -
递归列出目录下的所有文件
#include #include #include #include using namespace std;int count=0;//用来表示缩进void findFile(string dir){ long filehandle; _finddata_t fileInfo; string dirPattern=dir+"\\*.*";//给定目录下所有形式原创 2013-01-20 09:11:33 · 1008 阅读 · 0 评论 -
C++产生随机数
转自:http://blog.csdn.net/yushuai007008/article/details/7038845C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,C++里没有自带的random(int number)函数。(1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RA转载 2013-02-18 23:01:48 · 449 阅读 · 0 评论 -
C++ string 详解(转载)
转自:http://blog.csdn.net/yushuai007008/article/details/7050336 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,转载 2013-02-18 23:26:27 · 365 阅读 · 0 评论 -
C++中sizeof 关键字用法(转自baidu百科)
转自:http://blog.csdn.net/yushuai007008/article/details/70705891. 定义: sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。 其返回值类型为size_t,在头文件stddef.h中定义。这是一个依赖于编译系统的值,一般定义为转载 2013-02-22 22:57:02 · 514 阅读 · 0 评论 -
内存分配失败错误处理
转自:http://blog.csdn.net/app_12062011/article/details/7302673一、C语言中的malloc/calloc/realloc/valloc/alloca/memalign函数:这样的内存分配函数在内存分配失败时都返回空指针,因此,在调用返回时,检查返回值的方法比较简单,只需要与空指针比较即可;如:char* p = (char转载 2013-03-09 22:19:34 · 1635 阅读 · 0 评论 -
static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较
转自:http://www.cnblogs.com/jerry19880126/archive/2012/08/14/2638192.html隐式转换(implicit conversion)short a=2000;int b;b=a;short是两字节,int是四字节,由short型转成int型是宽化转换(bit位数增多),编译器没有warning,如下转载 2013-03-23 23:25:01 · 558 阅读 · 0 评论 -
C/C++程序员必须熟练应用的开源项目
转自:http://blog.csdn.net/langeldep/article/details/6293655作为一个经验丰富的C/C++程序员, 肯定亲手写过各种功能的代码, 比如封装过数据库访问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件访问的类, 封装过UI界面库等, 也在实际的项目中应用过, 但是回过头仔细想想,其实以前自己写过的这些代码,只能是在特定的项目或者转载 2013-03-24 08:23:01 · 509 阅读 · 0 评论 -
百度笔试题目
转自:http://blog.csdn.net/liuzhanchen1987/article/details/79879851)此题10分 对任意输入的正整数N,编写C程序求N!的尾部连续0的个数,并指出计算复杂度。如:18!=6402373705728000,尾部连续0的个数是3。 (不用考虑数值超出计算机整数界限的问题) [cpp] view pl转载 2013-05-12 23:33:13 · 570 阅读 · 0 评论 -
分享一道笔试题目--关于static和extern变量的问题
转自:http://blog.csdn.net/liuzhanchen1987/article/details/8119235[cpp] view plaincopy#include [cpp] view plaincopyusing namespace std; int co转载 2013-05-12 00:06:26 · 506 阅读 · 0 评论 -
分享一道很有意思的算法题目
转自:http://blog.csdn.net/liuzhanchen1987/article/details/8091436题目:有100盏灯和100个开关,刚开始的时候等全是灭的,someone第一轮按下所有开关(开的按一下变灭,灭的按一下变开),第二轮隔一个按一下(偶数个按),第三轮隔2个(3的倍数个按),求第100轮之后有多少盏灯是亮的。本题有三个层次的解法:第一个层次是暴转载 2013-05-12 00:07:51 · 730 阅读 · 0 评论 -
分享一道类继承的笔试题目
转自:http://blog.csdn.net/liuzhanchen1987/article/details/8074714[cpp] view plaincopyclass="cpp" name="code">#include using namespace std; class A { public:转载 2013-05-12 00:07:07 · 613 阅读 · 0 评论 -
控制C++的内存分配
转自:http://tanhaitao2046.blog.163.com/blog/static/51502222200792695439372/控制C++的内存分配在嵌入式系统中使用C++的一个常见问题是内存分配,即对new 和 delete 操作符的失控。 具有讽刺意味的是,问题的根源却是C++对内存的管理非常的容易而且安全。具体地说,当一个对象被消除时,转载 2013-05-29 23:59:50 · 429 阅读 · 0 评论 -
随机生成零到n之间的m个数
转自:http://www.verydemo.com/demo_c161_i80057.html随机生成0到n之间的m个数如何用随机数生成0到n之间的m个不重复的数1、最直接的方法就是先随机生成一个0到n之间的数,判断这个数是否已被选上,如果以前没选过,则选上,如果以前已选,则丢弃void common(int n,int m){ int * ran转载 2013-06-02 22:41:27 · 977 阅读 · 0 评论 -
随想录(开源代码的学习方法)
转自:http://blog.csdn.net/feixiaoxing/article/details/7749331?reload一、历史 开源代码作为一种特色的产物,随着物联网的进步得到了前所未有的发展。一开始,很多代码其实不是开源工程,后来软件的开发商发现根本没法用这些代码来挣钱,所以索性把这些代码发布到网上,让更多的人来进行维护和开发,比如说IB转载 2013-06-03 00:01:27 · 704 阅读 · 0 评论 -
C/C++常用时间函数介绍
转自:http://blog.csdn.net/ljx0305/article/details/8904285在介绍之前,先介绍两个概念 Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT)。比如,中国内地的时间与UTC的时差为+8,也转载 2013-07-18 23:56:48 · 675 阅读 · 0 评论 -
2012年10月9号阿里巴巴笔试(c++)
转自:http://blog.csdn.net/liuzhanchen1987/article/details/80581771.BMP格式图像,图像深度为24位,一个512*1024的点阵图像所占空间是多少?[html] view plaincopy答:(24/8)B*512*1024=1.5M 2.十进制数字转载 2013-05-12 23:31:09 · 606 阅读 · 0 评论 -
C++ typedef用法小结
转自:http://www.cnblogs.com/charley_yang/archive/2010/12/15/1907384.html第一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下转载 2013-05-22 22:40:21 · 493 阅读 · 0 评论 -
typedef用法小结
转自:http://blog.csdn.net/gungod/article/details/1400936来源一:Using typedef to Curb Miscreant Code Typedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法。不管怎样,使用 typedef 能为代码带来意想不到的好处,通过本文你可以学习用 t转载 2013-05-22 22:38:29 · 486 阅读 · 0 评论 -
Linux 服务器后台系统架构的高性能设计
转自:http://blog.csdn.net/wallwind/article/details/8536342因为,目前在做游戏的的后台开发。尽管最近在忙于开发游戏业务逻辑的的相关代码,也在不停思考着游戏后台的一些架构问题。因为游戏后台处理着大部分的业务逻辑,因此。在性能上是必须的。那么如何尽最大的提高性能呢,下面根据我们后台架构提出的转载 2013-04-15 23:37:39 · 680 阅读 · 0 评论 -
线程池的介绍及简单实现
转自:http://www.ibm.com/developerworks/cn/java/l-threadPool/简介: 服务器程序利用线程技术响应客户请求已经司空见惯,可能您认为这样做效率已经很高,但您有没有想过优化一下使用线程的方法。该文章将向您介绍服务器程序如何利用线程池来优化性能并提供一个简单的线程池实现。发布日期: 2002 年转载 2013-04-16 23:14:07 · 544 阅读 · 0 评论 -
Linux驱动的地址空间和硬件地址空间说明——摘自华清远见嵌入式园地 .
转自:http://blog.csdn.net/jianchi88/article/details/6982557?reload作者:李强,华清远见嵌入式学院讲师。有这么几个问题,在上驱动课程的时候,我感觉一直困扰着同学们:● 用户程序编译连接形成的地址空间在什么范围内? ● 内核编译后地址空间在什么范围内? ●转载 2013-05-01 23:43:00 · 870 阅读 · 0 评论 -
fork与vfork的区别
转自:http://blog.csdn.net/jianchi88/article/details/6985326fork()与vfock()都是创建一个进程,那他们有什么区别呢?总结有以下三点区别: 1. fork ():子进程拷贝父进程的数据段,代码段 vfork ( ):子进程与父进程共享数据段 2. fork ()父子进程的执行次序不确定转载 2013-05-01 23:43:49 · 439 阅读 · 0 评论 -
Linux Epoll介绍和程序实例
转自:http://blog.csdn.net/sparkliang/article/details/47706551. Epoll是何方神圣?Epoll可是当前在Linux下开发大规模并发网络程序的热门人选,Epoll 在Linux2.6内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的。其实在Linux下设计并发网络程序,向来不缺转载 2013-05-07 23:32:33 · 638 阅读 · 0 评论 -
c++ 成员函数的重载、覆盖与隐藏
转自:http://www.cnblogs.com/qlee/archive/2011/07/04/2097055.html成员函数的重载、覆盖与隐藏成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防。8.2.1 重载与覆盖成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;转载 2013-05-07 23:27:13 · 518 阅读 · 0 评论 -
Linux下C调用C++接口详解
转自:http://blog.csdn.net/feiyinzilgd/article/details/6723882 C++做久了,经常用C++的方式去思考问题,有时候就突然发现自己不太会写C程序了。写程序的时候,难免会用到第三方插件或者是库,而这些插件或者库很多时候都不能完全满足我们的需求,遇到这种情况,如果全是C++,那好办,写个适配器就OK了,关于适配器模式参考我的博客《C+转载 2013-05-07 23:30:29 · 756 阅读 · 0 评论