随笔分类 -  C/C++

摘要:首先我们给出大小端的定义: 小端:较高的有效字节存放在较高的的存储器地址,较低的有效字节存放在较低的存储器地址。 大端:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址。 将0x12345678写入到以1000h开始的内存中,这里0x12346578中0x12~0x78的地 阅读全文
posted @ 2018-07-07 14:33 Boblim 阅读(3741) 评论(0) 推荐(0)
摘要:转载请注明出处: http://blog.csdn.net/gane_cheng/article/details/52652705 http://www.ganecheng.tech/blog/52652705.html (浏览效果更好) 排序算法经过了很长时间的演变,产生了很多种不同的方法。对于初 阅读全文
posted @ 2018-05-24 16:25 Boblim 阅读(67539) 评论(0) 推荐(0)
摘要:转自:https://www.cnblogs.com/codingmylife/archive/2012/10/21/2732980.html 这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试 阅读全文
posted @ 2018-05-24 00:37 Boblim 阅读(385) 评论(0) 推荐(0)
摘要:转自:https://blog.csdn.net/yuehailin/article/details/68961304 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 首先考虑下如何将将二个有序数列合并。这个非常简单, 阅读全文
posted @ 2018-05-20 13:59 Boblim 阅读(817) 评论(0) 推荐(0)
摘要:图是一种灵活的数据结构,一般作为一种模型用来定义对象之间的关系或联系。对象由顶点(V)表示,而对象之间的关系或者关联则通过图的边(E)来表示。 图可以分为有向图和无向图,一般用G=(V,E)来表示图。经常用邻接矩阵或者邻接表来描述一副图。 在图的基本算法中,最初需要接触的就是图的遍历算法,根据访问节 阅读全文
posted @ 2018-05-17 17:24 Boblim 阅读(13393) 评论(0) 推荐(1)
摘要:转自:https://blog.csdn.net/xiajun07061225/article/details/8553808 堆简介 堆并不是STL的组件,但是经常充当着底层实现结构。比如优先级队列(Priority Queue)等等。 堆是一种完全二叉树,因此我们可以用数组来存储所有节点。在这里 阅读全文
posted @ 2018-05-11 23:50 Boblim 阅读(2719) 评论(0) 推荐(0)
摘要:不是只能放在.h里面,但是推荐放在.h里面。STL模板实现全部是放在.h里面的。 编译能通过。1)参与编译的只是.cpp文件,不会报错的原因,是因为它能在.h里面找到模板的声明。链接错误。1)链接的时候,需要实例化模板,这时候就需要找模板的具体实现了。假设在main函数中调用了一个模板函数,这时候就 阅读全文
posted @ 2018-05-09 16:08 Boblim 阅读(3770) 评论(0) 推荐(0)
摘要:转自:http://www.jb51.net/article/74830.htm 在C语言中,static的作用有三条:一是隐藏功能,二是保持持久性功能,三是默认初始化为0。 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条,分别是: 一是隐藏功能,对于static修饰的函 阅读全文
posted @ 2018-05-02 15:17 Boblim 阅读(10892) 评论(0) 推荐(5)
摘要:转自:https://blog.csdn.net/men_wen/article/details/52694069 指针数组与数组指针详解 1.什么是指针数组和数组指针? 指针数组:指针数组可以说成是”指针的数组”,首先这个变量是一个数组,其次,”指针”修饰这个数组,意思是说这个数组的所有元素都是指 阅读全文
posted @ 2018-04-28 14:56 Boblim 阅读(2730) 评论(0) 推荐(0)
摘要:转自:https://www.cnblogs.com/clover-toeic/p/3853132.html 引言 考虑下面的结构体定义: 假设这个结构体的成员在内存中是紧凑排列的,且c1的起始地址是0,则s的地址就是1,c2的地址是3,i的地址是4。 现在,我们编写一个简单的程序: 运行后输出: 阅读全文
posted @ 2018-04-27 15:27 Boblim 阅读(3331) 评论(0) 推荐(0)
摘要:摘要:listen函数使用主动连接套接口变为被连接套接口,使得一个进程可以接受其它进程的请求,从而成为一个服务器进程。在TCP服务器编程中listen函数把进程变为一个服务器,并指定相应的套接字变为被动连接。 listen函数在一般在调用bind之后-调用accept之前调用,它的函数原型是: #i 阅读全文
posted @ 2018-03-07 16:58 Boblim 阅读(33950) 评论(0) 推荐(3)
摘要:转自:http://www.cppblog.com/aaxron/archive/2012/04/27/172891.html 在发送端,一次发送4092个字节,在接收端,一次接收4092个字节,但是在接收端,偶尔会出现 socket.receive 接收不全的情况 ,ret = sock.recv 阅读全文
posted @ 2018-03-07 16:27 Boblim 阅读(31965) 评论(0) 推荐(0)
摘要:new”是C++的一个关键字,同时也是操作符。关于new的话题非常多,因为它确实比较复杂,也非常神秘,下面我将把我了解到的与new有关的内容做一个总结。 new的过程 当我们使用关键字new在堆上动态创建一个对象时,它实际上做了三件事:获得一块内存空间、调用构造函数、返回正确的指针。当然,如果我们创 阅读全文
posted @ 2018-03-06 16:41 Boblim 阅读(3700) 评论(0) 推荐(4)
摘要:转自:https://www.cnblogs.com/qlee/archive/2011/07/04/2097594.html 在C++的TR1中(Technology Report)中包含一个function模板类和bind模板函数,使用它们可以实现类似函数指针的功能,但却却比函数指针更加灵活,特 阅读全文
posted @ 2018-03-03 20:54 Boblim 阅读(621) 评论(0) 推荐(0)
摘要:1、gcc入门 (1)gcc即是linux下c/c++的编译器。 gcc经常用的的选项有-c,-o。 -c表示只编译(compile)源文件但不链接,会把.c或.cc的c源程序编译成目标文件(二进制文件),一般是.o文件。 我们在任意位置新建一个test文件夹,方便我们写测试文件。 现在我们新建一个 阅读全文
posted @ 2017-12-27 20:00 Boblim 阅读(22343) 评论(1) 推荐(1)
摘要:转自:https://www.cnblogs.com/lidabo/p/6206504.html chapter1 在应用程序需要连接外部库的情况下,linux默认对库的连接是使用动态库,在找不到动态库的情况下再选择静态库。使用方式为: gcc test.cpp -L. -ltestlib 如果当前 阅读全文
posted @ 2017-12-26 20:23 Boblim 阅读(3704) 评论(0) 推荐(0)
摘要:转自:http://blog.csdn.net/newchenxf/article/details/51735600 网上有各种静态库的创建&使用的例子,但都是超级简单的例子,比如,静态库,就直接来个printf(),就完事了! 其实,实际使用时,静态库会复杂很多,比如会调用很多其他的动态库。 下图 阅读全文
posted @ 2017-12-26 19:51 Boblim 阅读(20401) 评论(0) 推荐(1)
摘要:1.库的分类 根据链接时期的不同,库又有静态库和动态库之分。 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行。 有别于静态库,动态库的链接是在程序执行的时候被链接的。所以,即使程序编译完,库仍须保留在系统上,以供程 阅读全文
posted @ 2017-12-18 19:40 Boblim 阅读(44147) 评论(1) 推荐(0)
摘要:转自:https://www.cnblogs.com/fanhaha/p/7117766.html 原因:返回值是拷贝值,局部变量的作用域为函数内部,函数执行结束,栈上的局部变量会销毁,内存释放。 可返回的局部变量: 1. 返回局部变量本身 2.常量: char * str=“hello world 阅读全文
posted @ 2017-12-18 14:19 Boblim 阅读(4079) 评论(0) 推荐(1)
摘要:C语言中,数组初始化的方式主要有三种: 1、声明时,使用 {0} 初始化; 2、使用memset; 3、用for循环赋值。 那么,这三种方法的原理以及效率如何呢? 请看下面的测试代码: [cpp] view plain copy #define ARRAY_SIZE_MAX (1*1024*1024 阅读全文
posted @ 2017-12-18 13:58 Boblim 阅读(203426) 评论(4) 推荐(10)