随笔分类 -  C/C++

摘要:本文首发于我的公众号 Linux云计算网络(id: cloud_dev) ,专注于干货分享,号内有 10T 书籍和视频资源,后台回复 「1024」 即可领取,欢迎大家关注,二维码文末可以扫。 一:递归的思想 之前面试腾讯,面试官问了一个问题:说说递归和循环的区别?当时没有答出问题的本质,只是简单地解 阅读全文
posted @ 2016-04-03 16:14 bakari 阅读(16312) 评论(1) 推荐(4) 编辑
摘要:这篇是师兄的一篇杰作,特意转过来,因为以后也要用到,到时候就没必要自己去写了。实为偷懒,但也是为了能够更快的解决问题。原文: http://hi.baidu.com/davy_hwang/item/6c14bfd0a736823149e1dd57 1 #pragma once 2 #include 3 const unsigned long maxshort = 65535L; 4 const unsigned long multiplier = 1194211693L; 5 const unsigned long adder = 12345L; 6 class RandomNumber... 阅读全文
posted @ 2014-03-03 17:33 bakari 阅读(608) 评论(0) 推荐(0) 编辑
摘要:There is a interesting function which can play a System sound.First let's see the WinAPI.//声明:MessageBeep( uType: UINT {参数是个常数; 根据不同的常数发出不同的声音, 也就是调用了不同的 wav}): BOOL; //参数 uType 可选值:MB_OK = 0;MB_ICONHAND = 16;MB_ICONQUESTION = 32;MB_ICONEXCLAMATION = 48;MB_ICONASTE... 阅读全文
posted @ 2014-03-03 17:00 bakari 阅读(337) 评论(0) 推荐(0) 编辑
摘要:复制控制这一节需要注意的地方不多,主要有以下几点:1、定义自己的复制构造函数什么时候需要定义自己的复制构造函数,而不用系统提供的,主要遵循以下的经验说明:某些类必须对复制对象时发生的事情加以控制,这样的类(1)经常有一个数据成员是指针,(2)有成员在构造函数中分配的其他资源;而另一些类在创建对象时必须做一些特定的工作。2、禁止复制有些类是需要禁止复制的,如iostream类就不允许复制,但编译器始终都会默认合成一个,但还是有办法的:为了防止复制,类只要显示声明其复制构造函数为private就行了。然而,这样,类的友元和成员仍可以进行复制,如果想要连友元和成员中的复制也禁止,就可以声明一个pri 阅读全文
posted @ 2013-09-22 20:31 bakari 阅读(561) 评论(0) 推荐(1) 编辑
摘要:在这一章中,有以下的几点收获:1、pair类型的使用相当频繁,如果需要定义多个相同的pair类型对象,可考虑利用typedef简化其声明:typedef pair A;这样,在后面的使用中就可以直接用A来代替前面繁琐的书写。2、三种方法创建pair对象:(1)第一种方法:使用函数make_pair()pair spair;string first, last;while(cin >> first >> last) { spair = make_pair(first, last);}(2)第二种方法:可以调用vector的构造函数spair = pair (first, 阅读全文
posted @ 2013-09-21 22:02 bakari 阅读(514) 评论(0) 推荐(0) 编辑
摘要:最近又重新拾起C++primer,发现每一次看都会有不同的体验,但每一次看后因为不常用,忘记得很快,所以记笔记是很关键的一环,咋一看是浪费时间,实际上是节省了很多时间。下面就把这一节的内容做一个简单的提炼和小节:1、IO库类型不支持复制或赋值,因此,不能创建存放IO类型对象的容器。2、在指定容器元素为容器类型时,必须如下使用空格:vector > lines; //OK!vector> lines;//ERROR! 像这样,系统会默认>>为单个符号3、list容器的迭代器既不支持算术运算(加法或减法),也不支持关系运算(等),只提供前置和后置的自增、自减及相等(不等)运 阅读全文
posted @ 2013-09-20 21:16 bakari 阅读(377) 评论(0) 推荐(0) 编辑
摘要:更多干货请移步我的公众号「aCloudDeveloper」,专注技术干货分享,期待与你相遇。 Author:bakari Date:2012.11.2 1、参数传递问题: < 1 >、堆栈传参 < 2 >、寄存器传参(利用通用寄存器进行函数参数传递的方法) < 3 >、全局变量或静态变量传参 2、 阅读全文
posted @ 2012-11-02 22:47 bakari 阅读(462) 评论(0) 推荐(0) 编辑
摘要:Author:bakari Date:2012.10.26 这一讲的主要内容和上一讲相同,是上一讲的深入分析。内存对齐涉及内存实现的细节,复杂声明是对指针的深入理解,这些内容平时用到很少,学习之益于开拓思维,达到宏观调控自己的知识结构。 1、对于内存对齐上一讲没有提到计算的方法,其实上一讲的内容足以 阅读全文
posted @ 2012-10-26 22:12 bakari 阅读(418) 评论(0) 推荐(0) 编辑
摘要:Author:bakari Date:2012.10.22主要内容:内存对齐相关1、 温故而知新:防御性编程的应用防御性编程的详细讲解可见我的另一篇文章:http://www.cnblogs.com/bakari/archive/2012/08/27/2658215.htmlstring函数原型的详解可见我的“string函数系列之”的文章:http://www.cnblogs.com/bakari/archive/2012/08/09/string%E5%BA%93%E5%87%BD%E6%95%B0.html< 1 >、strlen函数:无局部变量,递归调用1 size_t m 阅读全文
posted @ 2012-10-23 08:27 bakari 阅读(550) 评论(0) 推荐(0) 编辑
摘要:Author:bakari Date:2012.10.18 这段时间非常有幸能够跟着一个非常牛的学长学习编程,现将每次学到的内容作为整理,方便以后复习,也分享给需要的网友。 这是学长第一次讲,本次讲的内容比较基础和偏理论,是有关于防御性编程的,关于这方面我之前就记录过一篇文章,详细见: http:/ 阅读全文
posted @ 2012-10-18 23:44 bakari 阅读(634) 评论(0) 推荐(0) 编辑
摘要:Author:bakari Date:2012.9.3 交换程序是每个开始学习编程的人必学习的一个初级算法。算法思想很简单,就是为两个交换的双方在定义一个第三者即可。但越学到后面,你也许会发现这个程序也是蕴藏着很多知识点,并且一些知识点只要用这个作为例子就能非常好的理解,比如说在学习指针和函数时,一 阅读全文
posted @ 2012-09-07 14:55 bakari 阅读(1941) 评论(1) 推荐(2) 编辑
摘要:Author:bakari Date: 2012.8.27 现在很多IT公司的面试题都或多或少会有复杂声明的题,有一点C基础的人或许能够瞎搬乱套做对,但这样你肯定不爽,一方面显得不专业,有点自欺欺人的感觉,另一方面如果遇到更加复杂的声明就彻底傻了,本篇主要就一些复杂的声明介绍一种方法,这个有些书上也 阅读全文
posted @ 2012-08-28 10:54 bakari 阅读(4939) 评论(3) 推荐(6) 编辑
摘要:Author:bakari Date:2012.8.26 数据对齐实际上是内存字节的对齐,今天偶然翻开自己以前做的笔记,发现做了好多的题,但现在对于我来说觉得很陌生。上网查了一下数据对齐的原因和方式,现在把它整理出来以备之后的学习复习巩固。 转载请注出处:http://www.cnblogs.com 阅读全文
posted @ 2012-08-27 17:45 bakari 阅读(20742) 评论(3) 推荐(2) 编辑
摘要:Author:bakari Date:2012.8.25 本篇是我根据网上的一些陈述经过整理和总结而得。其中详细的内容我会标注出处。看不懂的可以查看原文. 一、什么事防御性编程 详细请见:http://www.uml.org.cn/codeNorms/201007165.asp 防御性编程是一种细致 阅读全文
posted @ 2012-08-27 11:16 bakari 阅读(16447) 评论(5) 推荐(4) 编辑
摘要:刚在网上转看到几道对于巩固基础很有帮助的C++基础题,反正闲着也是闲着,就做了下,具体题型如下:答案是我自己写,不一定对,如果有朋友看到不对的,欢迎指正,万分感谢!1. 一个指针类型的对象占用内存的4个字节的存储空间.2. 一个指针类型指向一个数据对象,它保存着该数据对象的 地址 ,若数据对象为DataType类型,则该指针的类型为DataType*.3. 若要把一个整形指针P转换为字符指针,则采用的强制转换表达式为 (char*)p.4. 假定一个数据对象为int *类型,则采用的强制转换表达式为 (int*)p.5. 假定P是一个指向整数对象的指针,则用*p表示该整数对象,用P表示指针变量 阅读全文
posted @ 2012-08-12 21:37 bakari 阅读(2012) 评论(0) 推荐(0) 编辑
摘要:我的公众号 「Linux云计算网络」(id: cloud_dev),号内有 10T 书籍和视频资源,后台回复 「1024」 即可领取,分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、工具、SDN、OVS、DPDK、Go、Python 阅读全文
posted @ 2012-08-12 20:56 bakari 阅读(10181) 评论(0) 推荐(3) 编辑
摘要:Author: bakari Date: 2012.8.8 做好总结我觉得是把知识学扎实必不可少的实践环节。这个知识点是当初自己在学习这一块做的一些笔记,现在在知识提升的情况下将它重新整理一下以作巩固之用。 我们知道一段代码在内存中是由地址的,一个函数在编译时会被分配给一个入口地址,这个地址就是该函 阅读全文
posted @ 2012-08-10 15:46 bakari 阅读(439) 评论(0) 推荐(0) 编辑
摘要:更多干货请移步我的公众号「aCloudDeveloper」,专注技术干货分享,期待与你相遇。 Author: bakari Date: 2012/8/9 继上篇。。。。。 下面是我写的代码与源码作的一些比较,均已严格测试通过,分别以“string 之”系列述之。 memcpy(s1,s2,n)函数: 阅读全文
posted @ 2012-08-09 22:18 bakari 阅读(2117) 评论(0) 推荐(0) 编辑
摘要:更多干货请移步我的公众号「aCloudDeveloper」,专注技术干货分享,期待与你相遇。 Author: bakari Date: 2012/8/9 继上篇。。。。。 下面是我写的代码与源码作的一些比较,均已严格测试通过,分别以“string 之”系列述之。 这个函数没什么好说的,之所以单独放一 阅读全文
posted @ 2012-08-09 22:10 bakari 阅读(460) 评论(0) 推荐(0) 编辑
摘要:Author: bakari Date: 2012/8/9 继上篇。。。。。 下面是我写的代码与源码作的一些比较,均已严格测试通过,分别以“string 之”系列述之。 strchr函数:求字符在字符串中所在的位置 strstr函数:求子串在主串中的起始位置(用的字符串的模式匹配算法) 下面着重讲解 阅读全文
posted @ 2012-08-09 21:55 bakari 阅读(3982) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示