首页 » C++

内存分配:堆和栈

       内存区域划分  栈区(stack)  1)程序运行时由编译器自动分配的一块连续的内容,存放函数的参数值,局部变量的值等  2)程序结束时由编译器自动释放  3) 栈由系统自动分配,程序员无法控制 4)只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。阅读全文 »

2016年4月15日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

MFC CFile类读写文件详解

       CFile类提供了对文件进行打开,关闭,读,写,删除,重命名以及获取文件信息等文件操作的基本功能,足以处理任意类型的文件操作。  一个读写文件的例子:  文件I/O  虽然使用CArchive类内建的序列化功能是保存和加载持久性数据的便捷方式,但有时在程序中需要对文件处理过程拥有更多的控制权,对于这种文件输入输出(I/O)服务的需求阅读全文 »

2016年1月11日
作者:鸡啄米 分类:软件开发 浏览: 评论:4

MFC工具栏的创建、设计与使用实例

       本文通过实例说明MFC工具栏的创建、设计和使用方法,包括三个demo。 demo1:创建一个工具栏 demo2:停靠和浮动工具栏 demo3:点击菜单项显示和隐藏工具栏阅读全文 »

2016年1月6日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

趣文:C++程序员离职前丧心病狂的报复

       有人先在 Twitter 发了一条推,号称 「C++ 砖家建议」:... 然后随着扩散和转发,越来越多丧心病狂的邪恶建议,最后汇集而成:...阅读全文 »

2015年11月6日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

最热门编程语言薪资与职位需求揭秘

       我们可以从与工作相关的指标来决定要学习的“最佳”技术,例如需求和薪资。职业规划公司Gooroo通过仔细查看了美国、英国和澳大利亚的超过50万份的IT职位空缺,得到了下面这份《2015年的工资和供需报告》。 需求量最大的前十项技术  以下这些就是在职位空缺广告中呼声最多的技术:...阅读全文 »

2015年10月14日
作者:鸡啄米 分类:职场人生 浏览: 评论:0

C++指针和引用的区别终极详解

       指针和引用形式上很好区别,但是他们似乎有相同的功能,都能够直接引用对象,对其进行直接的操作。但是什么时候使用指针?什么时候使用引用呢?这两者很容易混淆,在此我详细介绍一下指针和引用,力争将最真实的一面展现给大家。如果我喷得不够好,希望嘴下留情、手下留命,还请指点一二;如果感觉还不错,请大家鼓掌。阅读全文 »

2015年5月29日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

TCP/UDP网络编程入门教程之一:TCP Server端——建模

       绝大部分关于socket编程的教程总是从socket的概念开始讲起的。要知道,socket的初衷是个庞大的体系,TCP/IP只是这个庞大体系下一个很小的子集,而我们真正能用上的更是这个子集中的一小部分:运输层(Host-to-Host Transport Layer)的TCP和UDP协议,以及使用这两个协议进行应用层(Application Layer)的开发。阅读全文 »

2015年4月14日
作者:鸡啄米 分类:软件开发 浏览: 评论:4

使用事件驱动模型构建高效稳定的网络服务器程序

       本文围绕如何构建一个高效稳定的网络服务器程序,从一个最简单的服务器模型开始,依次介绍了使用多线程的服务器模型、使用非阻塞接口的服务器模型、利用select()接口实现的基于事件驱动的服务器模型,和使用libev事件驱动库的服务器模型。通过比较各个模型,得出事件驱动模型更适合构建高效稳定的网络服务器程序的结论。阅读全文 »

2015年3月11日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

C++学习攻略--怎样学好C++语言

       之前发过一篇C语言要这样才能学好,本文来讲讲怎样学好C++。我把我个人的一些学习经验写在这里,希望对大家有用。首先,因为如何学好C语言中谈到了算法和系统,所以这里就只谈C++语言。 C++是最难的语言。 这个世界上最难的编程语言可能非C++莫属了。阅读全文 »

2015年3月4日
作者:鸡啄米 分类:软件开发 浏览: 评论:2

C++编译器自动生成的函数

       在C++中当创建一个空类时,C++就会默认的为这个类创建4个函数:默认的构造函数、析构函数、拷贝构造函数、以及赋值操作符。本文参考Effective C++介绍这几个函数。一. 函数的原型以及函数创建的时机 C++中创建一个空类:... 默认会生成4个函数,其函数的原型如下:...阅读全文 »

2015年1月10日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

想学编程?先来看看程序员的鄙视链

       最近这几年在世界各地突然吹起了一股全民写程序的风潮,连美国总统欧巴马都在写 JavaScript 了,但是身为一介靠写程序(以及在上班时间胡乱上网)来谋生的 developer(所谓的 developer 就是「软件工程师」的比较潮的说法),想要提醒那些想学习写程序的人一件重要的事:慎选你的第一个程序语言。  在软件工程师(中国叫做「程序员」或「码农」)的圈子里,文人相轻的现象可是非常严重的阅读全文 »

2014年12月18日
作者:鸡啄米 分类:软件开发 浏览: 评论:7

C、C++、python、Java、php、C#六种流行语言大PK

       本文是C、C++、python、Java、php、C#六种语言连接mysql数据库的代码展示,在LZ尝试的过程中,无论是语言环境搭建、mysql依赖库的导入还是代码的风格,各种语言都各有千秋。接下来,我们就让这些语言一一登场吧。 Java(最具噱头的语言) Java给新人的印象应该是入门简单、代码优雅、活跃度高、跨平台、开源大家庭等等,实在是当之无愧的明星语言,而且是偶像派的。阅读全文 »

2014年11月18日
作者:鸡啄米 分类:软件开发 浏览: 评论:9

怎样计算C++继承、虚继承、虚函数类的大小

       一、真空类 长度:1  内存结构:?? 评注:长度其实为0,这个字节作为内容没有意义,可能每次都不一样。  二、空类 长度:1 内存结构:?? 评注:同真空类差不多,内部的成员函数并不会影响类大小。 三、简单类 长度:4 内存结构:00 00 00 00 //m_iOne 评注:成员数据才影响类大小。阅读全文 »

2014年10月24日
作者:鸡啄米 分类:软件开发 浏览: 评论:5

谈谈8年C++面向对象设计的经验体会

       六年前,我刚热恋“面向对象”;(Object-Oriented)时,一口气记住了近十个定义。六年后,我从几十万行程序中滚爬出来准备写点心得体会时,却无法解释什么是“面向对象”,就象说不清楚什么是数学那样。软件工程中的时髦术语“面向对象分析”和“面向对象设计”,通常是针对“需求分析&rdquo阅读全文 »

2014年9月30日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

自动登录人人网程序的编写

       人人网需要天天登陆,才能获得持续的登录奖励,但是每次都登录啥的,感觉非常没意思,于是派生出用软件来自动登陆,这样既省时省事,又能获得奖励。 登录过程非常简单,就是模拟浏览器发送请求,如果你需要更新状态,需要从返回的请求包中提取出get_check,然后在发送的时候使用这个值就ok了。阅读全文 »

2014年3月18日
作者:鸡啄米 分类:软件开发 浏览: 评论:17

VC++文件操作之最全篇

       一、剖析VC中的文件操作 各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析。阅读全文 »

2013年10月3日
作者:鸡啄米 分类:软件开发 浏览: 评论:23

值得你研究的:有符号数和无符号数的强制类型转换

       在C/C++中有符号数转化为无符号数会出现一些问题,先看以下的程序例子:... 原本我以为计算结果为 result=0xFFF,但实际的计算结果是result=0xEFF。以下是程序的输出:... 原来ch[6]在char转成unsigned int时由0xff转为了0xffffffff。它的符号位(最高位)为1,在转换成无符号数时将其他位(第9位至第32位)全置为1。阅读全文 »

2013年2月22日
作者:鸡啄米 分类:软件开发 浏览: 评论:5

C++深浅拷贝浅析

       C++中深拷贝和浅拷贝的问题是很值得我们注意的知识点,如果编程中不注意,可能会出现疏忽,导致bug。本文就详细讲讲C++深浅拷贝的种种。 对于一般的对象,如:... 它们之间的赋值、复制过程是很简单的。但是对于类对象来说,其内部存在各种类型成员变量,在拷贝过程中会出现问题。阅读全文 »

2013年1月17日
作者:鸡啄米 分类:软件开发 浏览: 评论:5

详解C++中命名空间的意义和用法

       看过鸡啄米的C++编程入门系列教程的朋友,应该能注意到,在其中的很多实例中,都有这么一条语句:using namespace std;,即使用命名空间std,其作用就是规定该文件中使用的标准库函数都是在标准命名空间std中定义的。本文就详细讲解命名空间的意义和用法。 命名空间的意义 ...阅读全文 »

2013年1月13日
作者:鸡啄米 分类:软件开发 浏览: 评论:8

C++多线程编程入门之经典实例

       多线程在编程中有相当重要的地位,我们在实际开发时或者找工作面试时总能遇到多线程的问题,对多线程的理解程度从一个侧面反映了程序员的编程水平。 其实C++语言本身并没有提供多线程机制,但Windows系统为我们提供了相关API,我们可以使用它们来进行多线程编程。阅读全文 »

2013年1月9日
作者:鸡啄米 分类:软件开发 浏览: 评论:16