- 博客(12)
- 资源 (4)
- 收藏
- 关注
转载 C++ 容器vector 理解
通过设置一些模版类,STL容器对最常用的数据结构提供了支持,这些模板的参数允许我们指定容器中元素的数据类型,可以将我们许多重复而乏味的工作简化
2014-10-31 17:00:40 675
转载 ENUM C++
ENUM概况enum枚举类型是C/C++中的一种数据类型,与struct和class一样是用户自定义的类型,其特点在于enum类型的变量取值是有限的,是可以一一列举出来的。 ENUM定义C++ enum枚举格式:enum {};enum {}; 第一个C++ enum枚举值对应着一个整型数,通常情况下如果其中的枚举常量没有定义数值,
2014-10-31 15:06:38 660
原创 atoi 函数实现
#define INT_MAX ((int)0x7FFFFFFF) #define INT_MIN ((int)0x80000000)//#define INT_MAX (~(unsigned int)0/2)bool valid = true;int myatoi(const * str){ int num = 0; valid = false; if(NULL != st
2014-10-31 11:17:09 411
转载 C的二进制表示
对于有符号整型数的简单认识就是,最高位为符号位,0为正,1为负,那么剩下几位应该如何表示呢?理所当然的认为,既然是1表示为0000 0001(假设为8位整型数,下同),那么-1就应该表示为1000 0001了。但是,在C语言里,-1的正确表示应该是1111 1111,即0xFF。因为C语言里,对整型数是采用Two’s complement表示法,而前面我的理解则是Sign-Magnitude表
2014-10-31 10:28:12 3540
转载 内存分配方式
内存分配方式有三种:(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。(3) 从堆上分配,亦称动态内存分配。程序在运
2014-10-22 20:29:46 490
转载 (嵌入式)位(bit)操作
嵌入式系统总是要用户对变量或寄存器进行位操作。给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a 的bit 3。在以上两个操作中,要保持其它位不变。 对这个问题有三种基本的反应:1)不知道如何下手。该被面者从没做过任何嵌入式系统的工作。2) 用bit fields。Bit fields是被扔到C语言死角的东西,它保证你的代码在不同编译器之间是
2014-10-19 11:36:58 2119
转载 strlen()实现
一个10分的strlen函数了,完美的版本为:int strlen( const char *str ) //输入参数const,2分{ assert( strt != NULL ); //断言字符串地址非0,3分 int len; while( (*str++) != '\0' ) // 3分 { len++; }
2014-10-19 11:10:52 885
转载 C++静态成员变量和静态成员函数
数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员. 非成静态员:所有没有加Static的成员都是非静态成员,当类被实例化之后,可以
2014-10-19 11:04:35 436
转载 python lambda
Small anonymous functions can be created with the lambda keyword. This function returns the sum of its two arguments:lambda a,b: a+b. Lambda functions can be used wherever function objects a
2014-10-12 21:51:06 587
转载 C基本数据类型
速查表:char -128 ~ +127 (1 Byte)short -32767 ~ + 32768 (2 Bytes)unsigned short 0 ~ 65536 (2 Bytes)int -2147483648 ~ +2147483647 (4 Bytes)unsigned int 0 ~ 4294967295 (4 Bytes)long == int
2014-10-12 10:11:58 502
转载 c big endian OR little endian
【大端(Big Endian)与小端(Little Endian)简介】Byte Endian是指字节在内存中的组织,所以也称它为Byte Ordering,或Byte Order。 对于数据中跨越多个字节的对象, 我们必须为它建立这样的约定:(1) 它的地址是多少?(2) 它的字节在内存中是如何组织的? 针对第一个问题,有这样的解释: 对
2014-10-11 10:33:03 448
转载 数据结构对齐
对齐的算法: 由于各个平台和编译器的不同,现以本人使用的gcc version 3.2.2编译器(32位x86平台)为例子,来讨论编译器对struct数据结构中的各成员如何进行对齐的。 在相同的对齐方式下,结构体内部数据定义的顺序不同,结构体整体占据内存空间也不同,如下: 设结构体如下定义: struct A { int a;
2014-10-11 10:08:53 1404
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人