C++基础知识
文章平均质量分 77
呆呆的傻傻的
参省之学,敏思其过
展开
-
预处理
预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。在C语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就 需要使用预处理程序。尽管在目前绝大多数编译器都包含了预处理程序,但通常认为它们是独立于编译器的。预处理过程读入源代码,检查包含预处理指令的语句和 宏定义,并对源代码进行响应的转换。预转载 2014-01-06 22:51:28 · 414 阅读 · 0 评论 -
编辑文章 - 博客频道 - CSDN.NET
在C++中比较麻烦的就是对内存的动态操作,new后必须delete,否则就造成内存泄露,假如没有正确地new,就会造成空指针或野指针的情况,导致数据被破坏,程序发生异常.先看一段代码申请内存:int** a;a = new int*[10];for (j = 0; j{a[j] = new int[5];}int** a;a = new in原创 2014-03-11 22:45:17 · 378 阅读 · 0 评论 -
map的基本用法和嵌套用法
C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值。本文主要总结一下map基本用法和嵌套用法示例。一、map基本用法 1 头文件 #include 2 定义 map my_Map; //注意这里的int和int可以是其他类型 或者是typedef map转载 2014-03-11 22:05:35 · 835 阅读 · 0 评论 -
编译时,遇到errorLNK:无法解析的外部符号几种分析情况
error LNK2019: 无法解析的外部符号,这种问题在windows C++编程中,很多人应该都遇到过,那出现这个问题一般有哪些情况呢? 情况一,就是没有引入相应的lib库。这个情况是最容易想到的。对于lib库是要链接到exe程序中的,如果在链接的时候,找不到函数对应的符号所在的lib,那就会报error LNK2019: 无法解析的外部符号,有的时候还会提示,在什么地方转载 2014-03-09 09:04:45 · 5044 阅读 · 0 评论 -
C++编程中是不是线程越多越好?
多线程编程可以提高程序的并发执行能力,那是不是线程越多越好呢?大家可以参考下面的代码做测试:[cpp] view plaincopy#define MAX_WORKTHREAD 5 mapint, int> m_task;//用于统计每个线程做的任务数 std::dequeint> m_MsgQueue;//处理转载 2014-03-09 09:20:24 · 1444 阅读 · 0 评论 -
C++中vector<int>和vector<int*>的区别
在使用STL容器(比如map、list、vector等)的时候,是用放一个对象还是放一个对象指针,即是用vector还是vector,这里的vector可以换成其他的容器,int可以换成其他基本类型,也可以自定义的数据结构或类。 首先,要说明的是,这两种方式,怎么用都可以实现功能,把一组整型数放到容器里。先看看两种方式在使用的时候的区别。1.vector转载 2014-03-09 09:13:09 · 3526 阅读 · 0 评论