自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (4)
  • 收藏
  • 关注

转载 关于C++中的大小端、位段(惑位域)和内存对齐

听到好几个朋友说到去一些公司做面试,总是遇到关于大小端、位段(或者叫位域)和内存对齐的考题,然后就不知所措了。虽然我认为很多开发根本就用不到这个,但是我认为很有必要学习理解这些知识点,因为它可以让你更了解C++的,了解程序在内存的运行情况,也能加深对计算机系统的理解。        声明:由于本文的代码会受到计算机环境的影响,故在此说明本篇博文中的程序的运行环境。         1、Mi

2012-10-22 10:54:07 1594

转载 浮点型转换整型的快速方法介绍

[注明] 现有的Intel中的SSE指令 cvtps2dq XMM,XMM/m128 支持把源存储器4个单精度浮点数变成4个双字有符号整数,结果送入目的寄存器,内存变量必须对齐内存16字节,另外还有其他指令支持双精度和整型的转换。转载本文,作为C算法设计的探讨。在计算机图形运算中,常常要将浮点数转换为整数,例如在图像的光栅化阶段,就要执行大量的类型转换,以便将浮点数表示的坐标转化为整数表示

2012-09-21 21:07:50 14667

转载 类的大小——sizeof 的研究

先看一个空的类占多少空间?+ expand sourceview plaincopy to clipboardprint?class Base   {   public:       Base();       ~Base();   }; class Base{public:Base();~Base();};    注意到我这里显示声明了

2012-09-21 19:43:59 684

转载 类的大小

class X{};class Y:public virtual X{};class Z:public virtual X{};class A:public Y,public Z{};sizeof    X:1 Y:4Z:4A:8类的实例化,所谓类的实例化就是在内存中分配一块地址,每个实例在内存中都有独一无二的地址。同样空类也会被实例化,所以编译器会给空类隐含的

2012-09-21 19:43:17 619

转载 sizeof函数总结

sizeof函数功能:计算数据空间的字节数1.与strlen()比较strlen计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示(当然用在字符数组计算"\0"的大小)。2.指针与静态数组的sizeof操作指针均可看为变量类型的一种。所有指针变量的sizeof 操作结果均为4。

2012-09-21 19:42:27 930

转载 虚函数表指针,虚函数表

虚函数表对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。 在这个表中,主要是一个类的虚函数的地址表,这张表解决了继承、覆盖的问题,保证其内容真实反应实际的函数。这样,在有虚函数的类的实例中这个表被分配在了 这个实例的内存中,所以,当我们用父类的指针来操作一个子类的时候,这张虚函数表就显得由为重

2012-09-21 15:16:16 4036

转载 int main(int argc,char* argv[])详解

argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数 命令行后面跟的用户输入的参数,比如: int main(int argc, char* argv[]){ int i; for (i = 0; ii++)coutcin>>i; return 0; } 执行时敲入 F:\MYDOCU~1\TEM

2012-09-13 16:26:27 548

转载 转义字符

转义字符表:转义字符意义ASCII码值(十进制)\a响铃(BEL)007\b退格(BS)008\f换页(FF)012\n换行(LF)010\r回车(CR)013\t水平制表(HT)009\v垂直制表(VT)011\\

2012-09-13 14:51:01 859

转载 单双精度浮点数的IEEE标准格式

单双精度浮点数的IEEE标准格式关键字:浮点数 IEEE标准大多数高级语言按照IEEE-754标准来规定浮点数的存储格式。IEEE-754规定 单精度浮点数用4字节存储,双精度浮点数用8字节存储,表示为三部分:符号位、阶和尾数。S+E+MS 符号位,尾数的符号位;E 阶,即指数;M 尾数,即有效小数位数;单精度格式符号位 1位, bit31阶     8位,

2012-09-08 20:24:18 3052

转载 堆与栈的区别

一、预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其    操作方式类似于数据结构中的栈。    2、堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回    收   。注意它与数据结构中的堆是两

2012-09-08 15:37:41 424

原创 << 的思考

由一个程序引发的思考:#include int main(){       int w = sizeof(int)        printf("%.8x -- %.8x -- w is %d\n", -1        system("pause");       return 0;}结果是:00000000 -- ffffffff--w is 32

2012-09-03 12:28:48 455

转载 指针赋值的问题

转自:http://blog.csdn.net/snowq/archive/2008/01/17/2050129.aspx最近写了一个小程序,遇到一点小问题,是关于指向字符串的指针的。由此一发不可收拾,好奇心驱使我决定研究一下指针的初始化和赋值规则。略有所得之后,执笔记下,以备后用。1、指针的初始化初看起来,指针的初始化和赋值好像很混乱,又是*,又是&,时不时又出来一个数组。其实总结起

2012-08-13 22:22:39 578

转载 const用法详解

面向对象是C++的重要特性.  但是c++在c的基础上新增加的几点优化也是很耀眼的就const直接可以取代c中的#define以下几点很重要,学不好后果也也很严重const1. 限定符声明变量只能被读    const int i=5;    int j=0;    ...    i=j;   //非法,导致编译错误    j=i;   //合法2.

2012-08-12 18:52:11 351

转载 sizeof求结构体大小

运算符sizeof可以计算出给定类型的大小,对于32位系统来说,sizeof(char) = 1; sizeof(int) = 4。基本数据类型的大小很好计算,我们来看一下如何计算构造数据类型的大小。C语言中的构造数据类型有三种:数组、结构体和共用体。数组是相同类型的元素的集合,只要会计算单个元素的大小,整个数组所占空间等于基础元素大小乘上元素的个数。结构体中的成员可以是不同的数据类型

2012-08-12 15:09:26 377

转载 位域

部分转自:http://blog.csdn.net/ztz0223/archive/2008/12/24/3599016.aspx//假设硬件平台是intel x86(little endian)      typedef unsigned int uint32_t;  void inet_ntoa(uint32_t in)    {        char b[18];

2012-08-12 14:56:55 596

原创 笔试题strcpy写法

题目:  已知strcpy函数的原型是:  char * strcpy(char * strDest,const char * strSrc);  1.不调用库函数,实现strcpy函数。  2.解释为什么要返回char *。解说:  1.strcpy的实现代码  char * strcpy(char * strDest,const char * str

2012-08-08 20:23:23 428

原创 类继承权限

继承方式包括public、protected、private三种,总结如下,竖列是继承方式,横列是基类成员类型:继承方式     访问方式publicprivateprotectedpublicpublic不可访问protectedprivatepri

2012-08-08 14:48:53 802

原创 scanf函数

1.空白符问题 #include   main() {              int   a;     printf( "input   the   data\n ");     scanf( "%d\n ",&a);//这里多了一个回车符\n           printf( "%d ",a);     return   0; } 结果要输入两个数程

2012-08-05 10:27:37 425

转载 C++模板详解

C++ 模板分为2类:1. 函数模板格式:template   反回类型函数名(参数列表){函数体}比如:template void swap(T& a, T& b){}调用时:int a,b;swap(a,b);double d1,d2;swap(d1,d2);但是下面写法是错误的:swap(int,int):不能在函数调用的参数中指定模

2012-07-31 21:15:46 943

转载 内存溢出攻击分析

什么是内存溢出?简单的说,内存溢出就是程序向内存写入了比分配更多的空间更多的内容。攻击者据此控制程序执行的路径,冒名执行它的代码。对那些好奇这一切都是如何发生的人,本文试图详细介绍攻击的实现机制并提出一些预防措施。从我们知道的经验来看,大多都听说过这些攻击,但是很少几个真的理解攻击的具体机制,有些人有些模糊的印象,甚至有些人根本不知道越界攻击是什么。还有些人认为这个属于秘密的智慧和技能只有少数

2012-07-27 08:54:28 10351

转载 拷贝构造函数与赋值函数

由于并非所有的对象都会使用拷贝构造函数和赋值函数,程序员可能对这两个函数有些轻视。请先记住以下的警告,在阅读正文时就会多心: @ 如果不主动编写拷贝构造函数和赋值函数,编译器将以“位拷贝”的方式自动生成缺省的函数。倘若类中含有指针变量,那么这两个缺省的函数就隐含了错误。以类String 的两个对象a,b 为例,假设a.m_data 的内容为“hello”,b.m_data 的内容为“world

2012-07-21 16:47:04 458

转载 大端模式和小端模式

在 各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机 通信领 域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正 确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:Big-Endian和Little-Endian,下面先从字节序说起。一、什

2012-07-14 16:40:24 1044

转载 static静态变量的理解

静态变量 类型说明符是static。静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都不释放),也可以认为是其内存地址不变,直到整个程序运行结束(相反,而auto自动变量,即动态局部变量,属于动态存储类别,占动态存储空间,函数调用结束后即释放)。静态变量虽在程序的整个执行过程中始终

2012-07-14 16:35:10 532

转载 C语言数组首地址和数组名取地址区别

原文地址:http://hi.baidu.com/surfmygod/blog/item/53d44914cdb8a5d6a7ef3f13.html本文适用于机器为32位,编译器为VC6.0。先来看下面一个例子:main(){int a[5]={0x11121314,0x21222324,0x31323334,0x41424344,0x51525354};int *pt

2012-07-14 16:34:40 851

转载 MFC的程序执行顺序

很多刚学MFC的人都会被MFC给弄的晕头转向。以前传统的C语言中的main()不见了,window sdk api 中的WinMain()函数也不见了,到底用MFC编写的程序是如何开始运行的呢?到底MFC有没有遵从最基本的C++的标准呢?到底MFC的代码运行的顺序又是怎么样的呢?那么多个文件,那么多函数,到底哪一个先运行,哪一个后运行,哪一个调用哪一个,哪一个又被哪一个调用(你看晕了吧?那么多“哪

2012-07-14 16:34:15 424

转载 C++继承:同名隐藏、覆盖,虚函数

不同作用域声明的标识符的可见性原则:       如果存在两个或多个具有包含关系的作用域,外层声明了一个标识符,而内层没有再次声明同名标识符,那么外层标识符在内层依然可见,如果在内层声明了同名标识符,则外层标识符在内层不可见,这时称内层标识符隐藏了外层同名标识符,这种现象称为隐藏规则。       在类的派生层次结构中,基类的成员和派生类新增的成员都具有类作用域。二者的作用范围不同,是相互

2012-07-14 16:32:57 564

转载 C++虚函数

虚函数是在类中被声明为virtual的成员函数,当编译器看到通过指针或引用调用此类函数时,对其执行晚绑定,即通过指针(或引用)指向的类的类型信息来决定该函数是哪个类的。通常此类指针或引用都声明为基类的,它可以指向基类或派生类的对象。  多态指同一个方法根据其所属的不同对象可以有不同的行为。  下面来看一个例子:  程序运行输出结果: 8, 12  为什么Base

2012-07-14 16:32:37 367

转载 [算法之回溯法] 子集树与排列树

当所给的问题是从n个元素的集合S中找出满足某种性质的排列时,相应的解空间即使一颗子集树。这类子集树通常有2^n个节叶节点。所需要的时间复杂度是O(2^n);   当所给的问题确定n个元素满足某种性质的排列时,相应的解空间树成为排列树。排列树有n!个叶结点。因此遍历该树所用的时间复杂度是O(n!)   回溯法搜索子集树算法描述为:     void backtrack(int

2012-07-14 16:28:58 2325

杂凑算法SM3的C++实现

杂凑算法SM3的C++实现,并验证正确。

2014-04-28

杂凑算法MD5的C++实现

杂凑算法MD5的C++实现,并通过验证。

2014-04-28

AES的C++实现

高级加密标准AES的C++实现,并验证通过正确。

2014-04-28

2012_各大IT公司_校招笔试题_整理

2012_各大IT公司_校招笔试题_整理

2012-10-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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