C/C++技术专栏
huangzuduan
喜欢学各种编程语言
展开
-
C++—ASCII码
Ascill Codes 大家都知道电脑真正只能处理0和1,这就意味着电脑通过能序列的0和1翻译成一些数值,那就成了一些简单的数字操作符 然而,这不是很明显通过0和1去代表那字母和字符,所以为了解决这个,电脑使用ascii表,通过罗马字符来表达不同的字符,在这个表中每个字符都是由一个相同的数字来代 表,例如:在ascii表中,用65来代表这个大写的A,那是很容易去翻译 2012-10-29 00:16:51 · 3874 阅读 · 0 评论 -
C++ traits编程技法(一)
本文章部分内容取stl源码剖析 在使用一些模板类时,经常会看到 ATest a; ATest a; ATest::value_type a; ... 那ATest里面的代码是怎么样写的呢,这就用到了Traits编程技法,主要是用template参数推导机制。 template struct MyIter { typedef T value_type; T* ptr;原创 2015-05-08 15:15:53 · 403 阅读 · 0 评论 -
狐狸大叔-高效连接Socket篇(一)
狐狸大叔,这名字是我一个同事自称的,所以不要到处搜哈哈,搜不出来的 最近几天看了狐狸大叔写的C++游戏demo框架(未完善,仅一个demo而已),我觉得太好了,所以拿出来跟大家分享一出。 框架结构:vs2008 boost mysql 本人也是菜鸟一个,但有强烈的追求看到高效的代码。如有误导各位,请痛批~ 今天讲的是Socket方面的创建、连接、管理。 【总体的设计思路原创 2013-01-16 23:19:21 · 1844 阅读 · 0 评论 -
C++之友元
最近几天看了些老谢写的C++ Socket服务方面的代码,写得很好,但有一点不好的是,几乎没有任何注释,你会看得懂不?哈哈,很蛋痛~,好吧转入今日的正题----友元。 学到java,php肯定是不知道什么是友元的,我也是学了C++才知道,所谓友元,就是友好的类,如同自己一样,可以想到,是不是可以访问它的私有方法呢,答案是可以的。 下面是描述: 在某些情况下,允许特定的非成员函数访问一个类的私原创 2013-01-15 22:40:43 · 717 阅读 · 0 评论 -
C++构造函数初始化字符串字段,字段有顺序要求
class DCollection: public DMap { public: DCollection(std::string collectionName, DBClientConnection& conn,std::string dbName) :_collectionName(collectionName),_dbName(dbName), _conn(原创 2013-01-04 22:13:41 · 2002 阅读 · 0 评论 -
C++之模板与泛型编程(中)
今天继续完善我的c++框架,由于是新手,所以问题源源不断,主要是为模块问题。比较模块文件实现要放到头文件中,这个也是在csdn论坛上发贴才知道,感谢网友的回答。 先来理解下模板的一些定义吧: 模板是一个蓝图,它本身不是类或函数,编译器用模板产生指定的类或函数的特定类型版本。所以我们要知道,它是一个用来生成类或函数的工具。 主要文字理解了,哈哈! 一、模板所生成的函数并非都是合法的,关键在于原创 2013-01-03 00:14:11 · 503 阅读 · 0 评论 -
C++之模板使用实例(一)
书上得来终觉浅,实在是太浅了,还是要多动手啊 /* * Base.h * * Created on: 2012-12-27 * Author: root */ #ifndef BASE_H_ #define BASE_H_ template class Base { public: Base(); virtual ~Base(原创 2013-01-02 12:36:05 · 422 阅读 · 0 评论 -
C++之模板与泛型编程(上)
少壮不努力,老大搞IT(工厂) 最近写我的框架用到了模板,对这个东西不懂,乱猜搞了些上去,勉强通过编译,其实我的下理解是定义类型罢了,下面就看书总结下 模板----》需求多态性 举个简单例子: example: template int compare(const T &v1,const T&v2) { if(v1 > v2 ) return 1; if(v1 return原创 2012-12-30 13:05:56 · 395 阅读 · 0 评论 -
C++之new与delete
少不努力,大了、老了、很凄凉, 有些东西看似简单,但运用起来却很复杂,下面讲讲new与delete int i ; // 未初始化 int *ps = new int; // 动态分配,未初始化 int i(1024); //初始化值 int *ps = new int(1024); // 初始化值,ps指向的是对象值1024 string s(10,'s'); strin原创 2012-12-24 23:57:07 · 785 阅读 · 0 评论 -
C++之基础学习string
初始化构造方法 string s; string s("s") string s(n,'c'); 其他方法 s.empty() s.size() 返回类型为 string::size_type s[n] 返回位置为n的字符 s1 + s2 s1 = s2 拷贝s2副本 example: string::size_type si = 0;原创 2012-12-23 22:03:18 · 400 阅读 · 0 评论 -
C++ 之数组与指针
c++ 的编译很严格 如果定义一个数组的大小的,如果未能指定的大小是const 类型的,或要到运行才知道的,则会编译失败,这点和java不一样 example: int size =3; chat cbuf[size]; 失败 const int size =3 + 1; chat cbuf[size]; 失败 如果为 const int size =3; chat原创 2012-12-23 23:14:23 · 427 阅读 · 0 评论 -
C++—类型转换(Type Casting)
原文:http://www.cplusplus.com/doc/tutorial/typecasting/ 类型转换就是将给定类型的表达式转换为另一种类型。C++中的转型可分为两种:隐式类型转换和显式类型转换。下面将详细介绍这两种转型操作,以及各自的适用场景,潜在问题,最终将总结使用类型转换操作应牢记的原则。 一,隐式类型转换 隐式类型转换是C中的遗留物,在C++中并不推荐使翻译 2012-10-28 23:11:38 · 525 阅读 · 0 评论 -
设计模式-第1讲-单例
单例模式的要点 1、构造方法私有 2、一个私有静态对象 3、一个公有获得静态对象方法 给静态对象分配内存有两种方式 1、编译就已经确定分配内存 2、当第一次使用时,判断为null再去创建 class Singleton { public: Singleton* GetInstance() { if(s_instance==NULL) s_instanc原创 2015-05-07 11:26:13 · 427 阅读 · 0 评论