C/C++
文章平均质量分 71
dongxiao921
keep calm
展开
-
c语言中变量的存储位置
编写了一点代码,用来检测c语言中变量在内存中存储位置的检测,环境为minGW+codebloks+win7。先上代码:#include #include #include using namespace std; typedef struct Node { int data; Node*next; }Node; typedef struct Link_Table {原创 2014-01-27 21:03:06 · 4066 阅读 · 0 评论 -
volatile关键字
volatile是用于向编译器传递某种信息的关键字。这种信息可以限制编译器对代码的优化,以免这些优化造成yixia原创 2014-10-18 12:01:15 · 490 阅读 · 0 评论 -
STL 学习笔记
一、语法 二、容器原创 2014-08-25 14:04:31 · 821 阅读 · 2 评论 -
VS LNK2038错误的解决
cuowuxi LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”原创 2014-08-23 16:20:25 · 6007 阅读 · 0 评论 -
裘宗燕:C/C++ 语言中的表达式求值
经常可以在一些讨论组里看到下面的提问:“谁知道下面C语句给n赋什么值?” m = 1; n = m+++m++; 最近有位不相识的朋友发email给我,问为什么在某个C++系统里,下面表达式打印出两个4,而不是4和5: a = 4; cout C++ 不是规定 要弄清这些,需要理解的一个问题是:如果程序里某处修改了一个变量(通过赋值、增量/减量操作等),什么时候从该变量能够取到新值?转载 2014-08-23 14:48:18 · 806 阅读 · 0 评论 -
c++ 中__declspec 的用法
语法说明: __declspec ( extended-decl-modifier-seq ) 扩展修饰符: 1:align(#) 用__declspec(align(#))精确控制用户自定数据的对齐方式 ,#是对齐值。 e.g __declspec(align(32)) struct Str1{ int a, b, c, d, e; };转载 2014-08-23 19:47:04 · 645 阅读 · 0 评论 -
c++中的几种函数调用约定
C++中的函数调用约定主要针对sangew 对_stdcall 的理解 在C语言中,假设我们有这样的一个函数:int function(int a,int b) 调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有原创 2014-08-23 20:45:53 · 1414 阅读 · 2 评论 -
C++的const
1. const的用法: 看到const关键字,C++程序员首先想到的可能是const常量。这可不是良好的条件反射。如果只知道用const定义常量,那么相当于把火药仅用于制作鞭炮。const更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。 const是constant的缩写,“恒定不变”的意思。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。转载 2014-07-19 19:48:43 · 790 阅读 · 0 评论 -
main()中argc和argv详解
argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数 命令行后面跟的用户输入的参数,比如: int main(int argc, char* argv[]) { int i; for (i = 0; i i++) cout转载 2014-07-17 11:20:58 · 872 阅读 · 0 评论 -
STL中各种容器的简单特点
(1) vector 内部数据结构:数组。 随机访问每个元素,所需要的时间为常量。 在末尾增加或删除元素所需时间与元素数目无关,在中间或开头增加或删除元素所需时间随元素数目呈线性变化。 可动态增加或减少元素,内存管理自动完成,但程序员可以使用reserve()成员函数来管理内存。 vector的迭代器在内存重新分配时将失效(它所指向的元素在该操作的前后不再相同)。当把超过capacity转载 2014-07-17 13:32:21 · 1927 阅读 · 0 评论 -
c++与随机数(三)
C/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数。 (1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.h, 其值为2147483647。 例如: #incl转载 2014-06-03 22:48:50 · 713 阅读 · 0 评论 -
C++与随机数(二)
转载▼ 标签: c/c 程序设计 c++随机数生成函数rand(),实质生成伪随机数列。 为生成更加随机的数列,需要srand(unsigned num)来播种。 常用方式srand((unsigned)time(NULL));//增加头文件 生成[a,b]之间的随机整数的方法: 1、rand()%(b-a+转载 2014-06-03 22:48:08 · 615 阅读 · 0 评论 -
C++与随机数 (一)
一、C++中不能使用random()函数 ================================================================================== 本文由青松原创并依GPL-V2及其后续版本发放,转载请注明出处且应包含本行声明。 C++中常用rand()函数生成随机数,但严格意义上来讲生成的只是伪随机数(pseudo-r转载 2014-06-03 22:47:28 · 571 阅读 · 0 评论 -
STL中auto_ptr的解析
auto_ptr解析 By SmartPtr(http://www.cppblog.com/SmartPtr/) auto_ptr是当前C++标准库中提供的一种智能指针,或许相对于boost库提供的一系列眼花缭乱的智能指针, 或许相对于Loki中那个无所不包的智能指针,这个不怎么智能的智能指针难免会黯然失色。诚然,auto_ptr有这样那样的不如人意,以至于程序员必须像使用”裸“指针那样非转载 2014-02-23 18:56:01 · 643 阅读 · 0 评论 -
C++中临时量做参数的特点
在C++标准中,临时量为右值,可以作为参数传给函数。但是只能作为const引用。 先给出一段代码 #include #include using std::cout; using std::cin; using std::endl; using std::auto_ptr; class A { int val; public: A() { val=0; } }; void fu原创 2014-02-23 18:55:04 · 803 阅读 · 0 评论 -
在VS中添加lib的三种方法
方法1: 通过设置工程配置来添加lib库. 转自网上: 这种方法比较繁琐,且不直观,而且还可能要争对debug版本和release版本作不同的配置,因为我们生成的两个版本的库可能放在不同的目录中的. 方法2: 使用编译语句: #ifdef _DEBUG #pragma comment(lib,"..\\debug\\LedCtrlBoard.lib") #else #pra原创 2014-08-23 16:12:15 · 4653 阅读 · 0 评论