![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++/C
无路不荆棘
这个作者很懒,什么都没留下…
展开
-
一句话tips之define中的续行符
http://blog.sina.com.cn/s/blog_793f98560101143h.html一般常见的,反斜杠符号在C++中是当做转义符号。但是当#DEFINE遇到反斜杠符号这玩意儿有个正式的名称叫做续行符。在普通代码行后面加不加都一样(VC是自动判断续行的)。但是在宏定义里面就特别有用,因为宏定义规定必须用一行完成:#define So转载 2013-06-02 13:34:41 · 703 阅读 · 0 评论 -
C语言的编译链接过程的介绍
C语言的编译链接过程的介绍 C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织形成最终生成可执行代码的过程。过程图解如下: 从图上可以看到,整个代码的编译过程分为编译和链接两个过转载 2013-08-12 14:57:58 · 665 阅读 · 0 评论 -
C获得int的最大值最小值,算术右移,逻辑右移
假设int为4字节unsigned int 0的二进制表示为00000000 00000000 00000000 00000000那么对其取反得:11111111 11111111 11111111 11111111因为int型第32位为符号位,所以要对上数右移一位,既得:01111111 11111111 11111111 11111111即2147483647原创 2013-06-02 13:28:36 · 1244 阅读 · 1 评论 -
ANSI C标准中有几个标准预定义宏(也是常用的):
ANSI C标准中有几个标准预定义宏(也是常用的):__LINE__:在源代码中插入当前源代码行号;__FILE__:在源文件中插入当前源文件名;__DATE__:在源文件中插入当前的编译日期__TIME__:在源文件中插入当前编译时间;__STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1;__cplusplus:当编写C++程序时转载 2013-08-11 15:50:45 · 764 阅读 · 0 评论 -
C++ Primer 十五章 面向对象编程概述 要点笔记
一、与虚函数不同,“非虚函数总是在编译时根据调用该函数的对象、引用或指针的类型而确定。”例如pBase为基类指针,指向某继承类。当利用pBase调用某非虚函数func()时,一定是调用基类的实现,即使在继承类中已经对该函数进行了重载。若想调用继承类的func()函数,需要使用继承类类型的指针、引用或对象。原创 2013-08-12 21:30:30 · 652 阅读 · 0 评论 -
fun((exp1,exp2),(exp3,exp4,exp5))有几个实参(关于逗号表达式)?
关于逗号表达式百度百科:http://baike.baidu.com/view/2393109.htmc语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两式联接起来,如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14。(a=3*5,a*4)的值是60。逗号表达式的形式如下:表达原创 2013-08-06 15:43:04 · 11552 阅读 · 1 评论 -
输出源文件的标题和目前执行行的行数
这需要利用ANSI C标准中有几个标准预定义宏(也是常用的):__LINE__:在源代码中插入当前源代码行号;__FILE__:在源文件中插入当前源文件名;__DATE__:在源文件中插入当前的编译日期__TIME__:在源文件中插入当前编译时间;__STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1;__cplusplus:当编写C原创 2013-08-06 12:05:29 · 870 阅读 · 0 评论 -
STL迭代器失效问题
请移步:http://my.oschina.net/myspaceNUAA/blog/55053涉及了用erase()删除map和vector中的元素导致迭代器失效的情况,以及正确的erase方法。其实相关的内容在《C++标准库》的205页也有讲。书看的太囫囵了..还要多翻翻转载 2013-07-21 20:03:13 · 481 阅读 · 0 评论 -
LeetCode(Oct 29 '12):Pascal's Triangle II
题目地址:http://leetcode.com/onlinejudge#question_119题目要求:分析:要求在O(n)的空间内获得第k+1行的帕斯卡尔三角形的值。假设三角形存在二维数组Data中,其组织形式如下:11 11 2 11 3 3 11 4 6 4 1有以下特征:Data[i][0]和Data[i][i]的值均为原创 2013-07-02 10:42:15 · 556 阅读 · 0 评论 -
LeetCode(Oct 28 '12):Pascal's Triangle
水题一枚...练练手...原题地址戳此:http://leetcode.com/onlinejudge#question_118要求如下:代码如下:class Solution {public: vector > generate(int numRows) { vector > result; if(numRows<1) { re原创 2013-07-01 15:27:00 · 563 阅读 · 0 评论 -
LeetCode(Oct 19 '12):Distinct Subsequences
题目地址:http://leetcode.com/onlinejudge#question_115题目要求如下:先用了递归,小数据过了,大数据时间超限,一会再想DP的办法。递归代码如下(可以把尾递归去掉):class Solution {public: int count; int numDistinct(string S, string T) {原创 2013-07-01 14:05:40 · 899 阅读 · 0 评论 -
C和C++中 自增自减(++ --) 操作符的左值 右值 属性不同
看《C和指针》时,发现P81的++i,i++的结果都是右值类型。恍惚记得前缀自增自减是左值类型。难道C和C++不一样?验证了一下,确实不一样。在C中++i做左值编译失败,在C++中则没有问题。i++在C/C++中做左值均编译失败。综上,++i 和 i++在C中都是右值类型,在C++中,++i是左值,i++是右值。原创 2013-05-09 18:53:53 · 760 阅读 · 0 评论 -
在C++程序中调用C 的函数
转载自:http://www.cnblogs.com/sunnyjones/archive/2008/10/31/1323438.html 首先,作为extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。 通常,在模块的头文件中对本模块提供给其它模块引用的函数和转载 2013-06-07 14:34:47 · 727 阅读 · 0 评论 -
全局变量、局部变量、静态全局变量、静态局部变量的区别
转载自:http://www.cnblogs.com/chenglei/archive/2009/09/06/1561367.htmlC++变量根据定义位置的不同,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名作用域和文件作用域。从作用域看:全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其转载 2013-06-07 12:37:40 · 467 阅读 · 0 评论 -
堆和栈的区别 (经典)
转载自:http://www.cnblogs.com/Kevin_z/archive/2010/03/05/1679031.html一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap)转载 2013-06-07 12:42:06 · 516 阅读 · 0 评论 -
使用Visual Leak Detector检测内存泄露
本文来自VLD官网文档:文档源地址:http://vld.codeplex.com/wikipage?title=Using%20Visual%20Leak%20Detector&referringTitle=Documentation当前最新版本 2.3 http://vld.codeplex.com/releases使用Visual Leak Detector翻译 2013-06-04 13:36:41 · 1121 阅读 · 0 评论 -
浅谈C/C++中运算符的优先级、运算符的结合性以及操作数的求值顺序
作者:海子 转载自:http://www.cnblogs.com/dolphin0520/archive/2011/04/20/2022120.html一.运算符的优先级 在C++ Primer一书中,对于运算符的优先级是这样描述的: Precedence specifies how the operands are grouped. It says nothi转载 2013-08-13 20:25:38 · 581 阅读 · 0 评论