C/C++
文章平均质量分 78
lanhaics
学习才能进步,成功需要走好每个阶梯;
展开
-
三种单例模式的C++实现
在Java中,经常会用到单例模式,所谓的单例模式,即是只能返回一个对象的实例,在面试中一般情况下,都会做相关的试题。 本文用c++实现单例模式,与java开发有一定的相关性,共享。 本文转载:http://blog.csdn.net/silangquan/article/details/20383653 目录(?) [-] 简介懒汉式饿汉式多线程下的单例模式参考转载 2014-03-10 11:14:10 · 1088 阅读 · 0 评论 -
Window网络编程 TCP状态
TCP状态 作为一个Winsock程序员,通常没必要了解实际的TCP状态。但了解TCP状态,就能更好地理解Winsock API调用如何对基层协议中的改变产生影响。此外,许多程序员在关闭套接字时,会碰到一个常见的问题;围绕套接字关闭的TCP状态是我们目前最感兴趣的问题。 对每一个套接字来说,它的初始状态都是CLOSED。若客户机初始化一个连接,就会向服务器发送一原创 2014-04-02 11:08:00 · 1184 阅读 · 0 评论 -
阿里巴巴面试题汇总
(以下每题2分) 1、假设一个主机IP地址为192.168.5.121,而子网255.255.255.248,那么该主机的网络部分(包括子网号部分)为_____. 2、64位系统上,定义的变量int *a[2][3]占据___字节。 A、4 B、12 C、24 D、48 3、Linux中使用df -h/home和du -sh/home所查看到的已使用的原创 2014-04-02 20:16:16 · 1976 阅读 · 0 评论 -
C++ 模板设计 policy和traits
类有属性(即数据)和操作两个方面 模板也有自己的属性(特别是模板参数类型的一些具体特征,即trait)和算法策略(policy,即模板内部的操作逻辑); trait模板和policy模板技术就是把模板的trait和policy这两个针对不同具体类型有变化的方面抽离出来形成两个独立的模板。 1、trait模板技术:当在模板代码中需要知道类型参数T的某些特征(比如需要知道T是哪个具体类型转载 2014-03-24 14:25:17 · 2004 阅读 · 0 评论 -
深入解析unsigned int 和 int
就如同int a;一样,int 也能被其它的修饰符修饰。除void类型外,基本数据类型之前都可以加各种类型修饰符,类型修饰符有如下四种: 1.signed----有符号,可修饰char、int。Int是默认有符号的。 2.unsigned-----无符号,修饰int 、char 3.long------长型,修饰int 、double 4.short------短型,修饰int 我们主要原创 2014-04-08 14:10:10 · 2884 阅读 · 0 评论 -
MFC消息映射
一、映射机制原理 Windows程序是基于消息机制来编程的。 MFC消息映射机制的具体实现方法是:在每个能接收和处理消息的类中,定义一个消息和消息函数静态对照表,即消息映射表。在消息映射表中,消息与对应的消息处理函数指针是成对出现的,也就是他们是绑定在一起的。某个类能处理的所有消息及其对应的消息处理函数的地址都列在这个类所对应的静态对照表中。当有消息需要处理时,程序只要搜索该消息静态表原创 2014-04-11 09:26:05 · 1374 阅读 · 0 评论 -
不是技术牛人,如何拿到国内IT巨头的Offer
不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰。看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic...在跪拜之余我们不禁要想,和这些牛人比,作为绝大部分技术屌丝的同学们,是否真的与国内IT巨头遥不可及呢? 当你打开这个帖子的时候,我已经默认你是此文的目标读者,也就是想进入国内一流互联网企业的非牛人应届生。 你不需要拿NOI的奖,无需是开源社转载 2014-04-25 13:31:40 · 538 阅读 · 0 评论 -
c++ operator重载
本文转载; http://blog.sina.com.cn/s/blog_4b3c1f950100kker.html operator 是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名。 这是C++扩展运算付功能的方法,虽然样子古怪,但也可以理解;一方面要使运算符的使用方法与其原来一致,另一方面扩展其功能只能通转载 2014-04-10 11:13:09 · 1238 阅读 · 0 评论 -
详解十一种排序算法
排序算法在算法中占着很重要的地位,很多算法的实现都是基于排序算法的(如搜索算法和合并算法)。所以排序算法也是笔试面试中必考内容。但是不管他怎么考,也就是那几种算法,一般不会超出我接下来要讲的这11种,所以只要认真的掌握着11中就足够了。 那么是哪11种呢,下面是wiki上总结的11种 1 Simple sorts 1.1 Insertion sort(插入排序)1.2 Selec转载 2014-04-11 09:40:58 · 1220 阅读 · 0 评论 -
C语言inline函数使用
一、简述: inline函数,定义为inline函数之后,会省去函数调用的开销,直接嵌套汇编代码,取代函数调用,提高效率。 在函数声明或定义中函数返回类型之前加上关键字inline。 比如:inline int min(int first,int second){ /***********/ }; 对于同一个程序的不同文件,如果inline函数出现的话,其定义必须相同。如果原创 2014-03-14 14:05:39 · 2128 阅读 · 0 评论 -
C++模板实例化
实例化:一个通过使用具体值替换模板参数,从模板产生的普通类,函数或者成员函数的过程。 特化:就是上述过程最终获得实体。 延迟实例化: 当隐式实例化类模板时,同时也实例化了该模板的每个成员声明,但并没有实例化相应的定义,然而,存在例外: 1.如果类模板包含了一个匿名的union,那么该union定义的成员同时也被实例化了 2.作为实例化类模板的结果,虚函数的定义可能被实例化,但也可能转载 2014-03-19 16:50:51 · 1237 阅读 · 0 评论 -
C++编译器与链接器工作原理
首先,我们从编译原理开始 一、编译原理概念: 1、编译:编译器对源文件进行编译,就是把源文件中的文本形式存在的源代码翻译成机器语言形式的目标文件的过程,在这个过程中,编译器会进行一系列的语法检查。如果编译通过,就会把对应的CPP转换成OBJ文件。 2、编译单元:根据C++标准,每一个CPP文件就是一个编译单元。每个编译单元之间是互相独立互相不可知。 3、目标文件:由编译所生成的文件,以转载 2014-03-10 16:00:54 · 964 阅读 · 0 评论 -
C语言的变量作用域
C语言的变量作用域及头文件 关于C语言的变量作用域和头文件的问题都是比较基础的问题,但是这些问题在实际使用过程中的概念不清和混乱会对一个多文件的项目的组织结构及文件结构造成很大的影响,使得项目本身的脉络也变的很模糊。 1、作用域 关于C语言的变量作用域和头文件的问题都是比较基础的问题,但是这些问题在实际使用过程中的概念不清和混乱会对一个多文件的项目的组织结构及文件结构造成转载 2014-03-11 14:06:59 · 1754 阅读 · 4 评论 -
了解C声明中修饰符的顺序
1、声明时可以使用的修饰符: 在C中,允许使用多于1个的修饰符。 接下来我们来看一下各种修饰符的组合使用类型: int borard[8][8]; //int数组的数组 int ** ptr; //指向int的指针的指针 int * risks[10];原创 2014-03-13 15:53:06 · 1119 阅读 · 0 评论 -
C/C++ 内存布局
为什么需要知道C/C++的内存布局和在哪可以可以找到想要的数据?知道内存布局对调试程序非常有帮助,可以知道程序执行时,到底做了什么,有助于写出干净的代码。 本文的主要内容如下: 源文件转换为可执行文件可执行程序组成及内存布局数据存储类别一个实例总结 源文件转换为可执行文件 源文件经过以下几步生成可执行文件: 1、预处理(preprocessor):对#include转载 2014-03-13 13:59:42 · 1153 阅读 · 0 评论 -
C中auto,static,register和extern的区别
摘自百度文库, C语言中的每个变量和函数有两个属性:数据类型和数据的自动存储类别。数据类型(整形、字符型等),存储类别是指数据在内存中存储的方法,存储方法有两大类:静态存储类和动态存储类。 具体包括四种:自动的(auto),静态的(static),寄存器的(register)和外部的(extern). auto变量:函数中的局部变量,如不专门声明static,一般都动态地分配转载 2014-03-10 10:06:02 · 1232 阅读 · 0 评论 -
C++ 网络编程学习指南
C,C++网络编程学习简明指南 1. 扎实的C,C++基础知识 参考资料《C程序设计》,《C++ primer》。 2. TCP/IP协议 经典书是:W.Richard Stevens 著《TCP/IP详解》三卷书,卷1是协议,卷2是实现,卷3是TCP事务协议等。还有官方的协议文档:RFC 当然也可以在网上下载电子书。 经典的开源协议分析工具:Wireshark. 简单的原创 2014-03-19 13:17:53 · 2704 阅读 · 0 评论 -
如何在C语言里面执行SQL语句?
一、为什么要在C语言程序中执行SQL语句? 在C语言程序中执行SQL语句的原因有以下几个: (1) 程序需要获取数据库中某数据表的字段值,并对这些字段值进行解析以执行后续操作。 (2) 程序需要更新数据库中某数据表的字段值。 (3) 程序需要向某数据表中插入值。 (4) 程序需要从某数据表中删除一些值转载 2014-05-13 15:17:16 · 15160 阅读 · 0 评论