C/C++
文章平均质量分 91
--渔夫
这个作者很懒,什么都没留下…
展开
-
_cdecl,_stdcall 区别简介
__stdcall,__cdecl,_cdecl,_stdcall,。__fastcall,_fastcall 区别简介 1. 今天写线程函数时,发现msdn中对ThreadProc的定义有要求:DWORD WINAPI ThreadProc(LPVOID lpParameter); 不解为什么要用WINAPI宏定义,查了后发现下面的定义。于是乎需要区别__stdcall和__cdecl两原创 2013-01-29 16:50:46 · 453 阅读 · 0 评论 -
C/C++数组名与指针区别详解
指针是c/c++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在c语言的教学过程中也错误得给学生讲解:/"数组名就是指针/"。很幸运,我的大学老师就是其中之一。时至今日,我日复一日地进行着c/c++项目的开发,而身边还一直充满这样的程序员,他们保留着/"数组名就是指针/"的误解。 想必这种误解的根源原创 2013-01-29 16:53:20 · 369 阅读 · 0 评论 -
浅谈C内存分配1
关于C语言内存方面的话题要真说起来的话那恐怕就没头了,所以本文仅仅是一个浅谈。 关于内存问题不同平台之间有一定的区别。本文所指的平台是x86的Linux平台 用C语言做程序(其实其他语言也一样),不仅要熟悉语法,其实很多相关的背景知识也很重要。在学习和研究C语言中内存分配的问题前,首先要了解一下Linux分配给进程(运行中的程序)的地址空间是什么样的。 总的来说有3个段,即代码段,数据段和堆原创 2013-01-29 16:55:19 · 389 阅读 · 0 评论 -
指针与引用
1)引用总是指向一个对象,没有所谓的 null reference .所有当有可能指向一个对象也由可能不指向对象则必须使用 指针. 由于C++ 要求 reference 总是指向一个对象所以 reference要求有初值. String & rs = string1; 由于没有所谓的 null reference 所以所以在使用前不需要进行测试其是否有值.,而使用指针则需原创 2013-01-29 16:58:03 · 301 阅读 · 0 评论 -
明晰C++内存分配的五种方法的区别
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统原创 2013-01-29 16:58:43 · 470 阅读 · 0 评论 -
sizeof小结
. 定义: sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类 型所占的内存字节数。 MSDN上的解释为: The sizeof keyword gives the amount of storage, in bytes, associated with avariable or a type (including aggregate t原创 2013-01-29 17:02:27 · 419 阅读 · 0 评论 -
C/C++ 笔试、面试题30
1.求下面函数的返回值(微软) int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; } 假定x = 9999。 答案:8 思路:将x转化为2进制,看含有的1的个数。 2. 什么是“引用”?申明和使用“引用”要注意哪些问题? 答:引用就是某个目标变量的“别名”(原创 2013-01-29 17:04:26 · 1264 阅读 · 0 评论 -
密钥协商的原理
密钥协商原理 群组密钥协商(Group Key Agreement), 这种方法是基于分布式的思想,它的特点是:1)群组的多个成员一起参与密钥生成 2) 群组中的密钥是由每个成员提供的参数以及密钥生成算法共同决定的 3) 群组中任何成员均不能事先确定密钥。 有几种流行的的群组密钥协商及分配方法,包括CKD(Centralized Group Key Distribution),BD(Bu原创 2013-09-25 16:13:45 · 3672 阅读 · 0 评论