C with class
文章平均质量分 79
GoHeadForWorld
这个作者很懒,什么都没留下…
展开
-
堆与栈
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两转载 2013-09-19 00:20:50 · 359 阅读 · 0 评论 -
回调函数在非阻塞模式中的使用
本来是想介绍回调函数在非阻塞模式的地位,但是在这之前需要知道这些基本知识。然后再验证回调函数的作用 一、同步与异步同步/异步, 它们是消息的通知机制 1. 概念解释 A. 同步 所谓 同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。 按照这个定义,其实绝大多数函数都是同步调用(例如sin isdigit等)。 但是一般而言,我们在说同步、异步转载 2014-07-02 07:20:31 · 511 阅读 · 0 评论 -
基本概念:同步、异步、阻塞和非阻塞
基本概念:同步、异步、阻塞和非阻塞在进行网络编程时,我们常常见到同步、异步、阻塞和非阻塞四种调用方式。这些方式彼此概念并不好理解。下面是我对这些术语的理解。同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。即此程序一直处于等待状态。按照这个定义,其实绝大多数函数都是同步调用(例如sin, isdigit等)。但是一般而言,我们在说同步、异步的时候,转载 2014-07-02 07:47:29 · 397 阅读 · 0 评论 -
C++回调函数(callback)的运用
C++回调函数(callback)的使用什么是回调函数(callback) 模块A有一个函数foo,它向模块B传递foo的地址,然后在B里面发生某种事件(event)时,通过从A里面传递过来的foo的地址调用foo,通知A发生了什么事情,让A作出相应反应。 那么我们就把foo称为回调函数。 例子: 回调函数是一个很有用,也很重要的概念。当发生某种事件时转载 2014-07-02 07:42:02 · 528 阅读 · 0 评论 -
回顾经典Effective C++ 2
以编译器代替预处理器-以原创 2014-07-11 22:40:36 · 477 阅读 · 0 评论 -
回顾经典Effective C++ 9 10 11 12
notice:构造和析构期间不要原创 2014-07-13 00:55:42 · 377 阅读 · 0 评论 -
回顾经典Effective C++ 3 4
Extend Of "const":原创 2014-07-12 01:20:57 · 433 阅读 · 0 评论 -
回顾经典Effective C++ 5 6 7 8
notice 5 :编译器可以暗自为class创建defaultgouzao原创 2014-07-12 23:06:33 · 344 阅读 · 0 评论 -
回顾经典Effective C++ 1
c++ 联邦语言: typedef { unit C; unit Object-Oriented C++; unit Template C++; unit STL; };notice: C++高效编程取决于你使用C++的哪一个部分。eg:pass-by-reference and pass-by-value.c:内置类型value kill reference原创 2014-07-11 22:00:39 · 683 阅读 · 0 评论 -
[MFC]90条技巧-带目录(转自网上)
1."属性页的添加:2."List Control中标题栏(Column)的添加:3."ToolBar和StatusBar中控件的添加:4."通过Control创建的控件,对其属性的动态控制:5."窗口的分割与停靠:6. ①怎样在程序开始的时候让它最大化?②vc++做出来的exe文件在窗体的右上方是没有最大化和最小化按钮的,怎样实现这一功能?③如何在显示窗口时,使最大化转载 2014-12-09 00:01:23 · 1439 阅读 · 0 评论 -
JSON数据格式
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。转载 2014-06-30 23:33:27 · 435 阅读 · 0 评论 -
gtest中小项目test
一、概述 gtest是Google开源的一款跨平台的C++单元测试框架,支持自动发现测试、断言集、用户定义的断言、death测试、致命与非致命的失败、类型参数化测试、各类运行测试的选项和XML的测试报告,更多信息请参看官网,也可以参看这里。 二、安装 点击这里下载gtest,当前最新的稳定版本是gtest-1.7.0,如下来安装gtest: #unzip g转载 2014-06-30 23:21:33 · 570 阅读 · 0 评论 -
.h跟.c的区别
要理解.c文件与.h文件有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程:1.预处理阶段2.词法与语法分析阶段3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件4.连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件,当然,最后还可以用objcopy生成纯二进制码,也就是去掉了文件格转载 2013-09-21 12:10:14 · 570 阅读 · 0 评论 -
野指针的那些事
今天看到一段代码,发表下个人见解,各位大神勿喷//struct S { int i; int *p; }; main() { S s; int *p=&s.i; //p指向s的首地址 p[0]=4; //处理s.i p[1]=3; //s.p =3s.p=p; //s.p指向s的首地址原创 2013-09-19 22:06:31 · 575 阅读 · 0 评论 -
虚函数表
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过转载 2013-09-19 00:23:59 · 500 阅读 · 0 评论 -
浅谈指针
指针是C和C++语言编程中最重要的概念之一,也是最容易产生困惑并导致程序出错的问题之一。利用指针编程可以表示各种数据结构, 通过指针可使用主调函数和被调函数之间共享变量或数据结构,便于实现双向数据通讯;并能像汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C和C++语言的功能。在本文中,主要分两部分对指针进行讨论。首先,基础篇讨论关于指针的内容和运算操作等,可以是读者对指针转载 2014-03-19 23:03:46 · 397 阅读 · 0 评论 -
C++文件操作
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器( 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout2、析取器(>>)转载 2014-04-01 21:22:43 · 288 阅读 · 0 评论 -
C、C++程序的优化之路
http://soft.chinabyte.com/database/41/11432541.shtml在高级语言中,程序的优化主要应该从数据结构、算法、控制流程等方面入手。各种语言各有它自身的特点,我们只能根据具体的语言来说明代码优化的方法。当然,高级语言太多,不可能把每一种语言都拉进来,主要就谈谈C,C++,JAVE,Delphi等语言相关的 代码优化。而对于其它一些语言,也 可以转载 2014-04-01 21:52:13 · 443 阅读 · 0 评论 -
C++编程语言对内存的操作指南
C++编程语言对内存的操作是一个非常复杂的应用步骤,我们在学习的过程中,需要不断的从实践编程中去总结这方面的应用经验,以帮助我们理解。在这里我们就先来介绍一下C++内存对齐的相关方法。 一、为什么会有C++内存对齐 以下内容节选自《Intel Architecture 32 Manual》。 为了提高程序的性能,数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原转载 2014-04-01 22:03:08 · 629 阅读 · 0 评论 -
C与C++
在很大程度上,标准C++是标准C的超集.实际上,所有C程序也是C++程序,然而,两者之间有少量区别.下面简要介绍一下最重要的区别. 在C++中,民,局部变量可以在一个程序块内在任何地方声明,在C中,局部变量必须在程序块的开始部分,即在所有"操作"语句之前声明,请注意,C99标准中取消了这种限制. 在C中,按如下方式声明的函数没有对函数参数进行任何说明; int fun转载 2014-04-02 21:38:47 · 346 阅读 · 0 评论 -
log4cpp中小项目log记录
下载链接:download转载 2014-06-30 23:11:47 · 1169 阅读 · 0 评论 -
[MFC] Clistctrl
1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料”转载 2014-12-08 22:20:11 · 382 阅读 · 0 评论