stl源码简析char_traits.h

stl源码简析char_traits.h掠过之前不重要的东西,直接上代码了 static void assign(char_type& __c1, const char_type& __c2) { __c1 = __c2; } static bool eq(const _Ch...

2017-03-28 08:56:50

阅读数 330

评论数 0

动态链接库与静态链接库的区别

动态链接库与静态链接库的区别1 静态链接库的优点(1) 代码装载速度快,执行速度略比动态链接库快; (2) 只需保证在开发者的计算机中有正确的.LIB文件,在以二进制形式发布程序时不需考虑在用户的计算机上.LIB文件是否存在及版本问题,可避免DLL地狱等问题。 2 动态链接库的优点 (1)...

2017-03-27 15:27:51

阅读数 231

评论数 0

深度探索c++对象模型读书笔记(一)

深度探索c++对象模型读书笔记(一)1.c++有两种class data menmbers:static 和 nonstatic 三种class menmber functions:static ,nonstatic,virtual2.简单对象模型 每一个member data和member ...

2017-03-27 15:16:19

阅读数 488

评论数 0

c++stl vector源码简析

c++stl vector源码简析vector是我们经常用的容易之一,我们现在来简单看一下vector的部分源码理解vector的行为以便我们在使用过程中更得心应手首先看一下vector的alloc基类:template <class _Tp, class _Allocator, bool ...

2017-03-26 13:46:35

阅读数 682

评论数 0

C++线程安全的单例模式

C++线程安全的单例模式首先看一下普通的单例模式实现:class singleton{ public: static singleton* getinstance(){ if(p==null){ p = new singleton(); ...

2017-03-25 21:15:04

阅读数 281

评论数 0

关于c++中的cin

关于c++中的cin在程序中我们经常看到关于cin这样的用法while(!cin>>val) { ……; }我一开始想知道cin的返回值是什么于是就在网上去搜集资料,后面突然想到cin是istream一个对象,不是一个函数 也就没有什么返回值具体的继承是这样的:接下来我...

2017-03-25 10:42:47

阅读数 225

评论数 0

Linux并发回射服务器(二):处理僵死进程

运行三个客户端程序然后非正常结束linux下我们用ps -a命令可以查看当前进程的情况如下解决方法是利用子进程传递给父进程的信号 代码如下:#include<sys/types.h> #include<sys/socket.h> #include<stdio.h&g...

2017-03-21 17:59:22

阅读数 377

评论数 0

Linux回射服务器(一):多进程实现并发

建立连接后创建一个进程来处理每个连接 使用fork()函数创建子进程 服务器端:#include<sys/types.h> #include<sys/socket.h> #include<stdio.h> #include<netinet/in.h&g...

2017-03-21 17:34:00

阅读数 645

评论数 0

几种动态分配内存的方法及区别

1) malloc 函数: void *malloc(unsigned int size) 在内存的动态分配区域中分配一个长度为size的连续空间,如果分配成功,则返回所分配内存空间的首地址,否则返回NULL,申请的内存不会进行初始化。 2)calloc 函数: void *call...

2016-04-21 19:48:19

阅读数 1388

评论数 0

static_cast 的用法

static_cast < type-id > ( expression ) 该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法: ①用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。 进行上行转换...

2016-04-21 10:21:08

阅读数 385

评论数 0

指针运算

1.指针自增、自减每次移动的偏移量是指针所指向对象的字节大小2.指针相减的值是指针地址的偏移除以指针每次移位的大小 举例:#include<stdio.h> void main() { short *p,*q; short arr[15]={0}; p=q=a...

2016-04-19 17:17:31

阅读数 365

评论数 0

缺省参数

缺省参数是静态绑定的。所以,永远记住: 绝不重新定义继承而来的缺省参数举例:class A { public: virtual void func(int val = 1) { std::cout<<"A->"<<val <...

2016-04-19 16:45:29

阅读数 357

评论数 0

多态分类

1.参数多态包括函数模板和类模板2.包含多态 virtualclass A{ virtual void foo() { printf("A virtual void foo()"); }};class B : pu...

2016-04-17 10:00:09

阅读数 244

评论数 0

c++多重继承的内存分布

观察下面一段代码:class ClassA { public: virtual ~ ClassA(){}; virtual void FunctionA(){}; }; class ClassB { public: virtual void FunctionB(){}; };...

2016-04-16 10:02:29

阅读数 928

评论数 0

c语言中的未定义行为

下列 C 代码中,不属于未定义行为的有_A.Int i=0;i=(i++); B.char *p=”hello”;p[1]=’E’; C.char *p=”hello”;char ch=*p++; D.int i=0;printf(“%d%d\n”,i++,i–); E.都是未定义行为 ...

2016-04-14 08:56:28

阅读数 2074

评论数 0

c++默认类型转化

以下代码执行后,val的值是_:unsigned long val = 0; char a = 0x48; char b = 0x52; val = b << 8 | a;正确答案: B A.20992 B.21064 C.72 D.0答案解析: 这里面涉及到了默认类型转换:...

2016-04-14 08:49:54

阅读数 392

评论数 0

字符串&malloc&strlen&strcpy

如下程序用于输出“Welcome to Huawei Test”,请指出其中的两处错误。char * GetWelcome(void){ char * pcWelcome; char * pcNewWelcome; pcWelcome="Welcome to Hu...

2016-04-12 16:57:40

阅读数 1156

评论数 0

继承虚函数&数组名做参数

#include<iostream> using namespace std;class Base { public: virtual int foo(int x) { return x * 10; } int foo(char x[14]...

2016-04-12 16:53:51

阅读数 242

评论数 0

组合与继承

有这样一个类:class Eye { public: void Look(void); };现在希望定义一个Head类,也想实现Look的功能,应该使用()方法,实现代码重用。 正确答案: BA.继承 B.组合 C.模板 D.过滤答案解析: 组合是在新类中以原有类的对象作...

2016-04-12 16:45:58

阅读数 258

评论数 0

构建乘积数组

题目描述给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…A[i-1]*A[i+1]…*A[n-1]。不能使用除法。 思路: 类似于动态规划 用两个数组保存 v1中v1[i]保存前i-1个数的乘积 v1[0]=1 然...

2016-04-10 13:08:53

阅读数 201

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭