
c&c++那些事儿
文章平均质量分 55
alexmahone_xie
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
搞清楚 static key word的meaning
在 iso c99标准中:当static 用于函数定义时,或用于代码块之外的变量声明时,static 用于修改标识符的连接属性,从external 改为 internal,但标识符的存贮类型和作用域不受影响。用这种方式声明的函数或变量只能在声明他们的源文件中访问。当它作用于代码块内部的变量声明的时候, static用于修改变量的存贮类型,从自动变量修改为静态变量,但变量的链接属性和作用域不受影响。用这种方式声明的变量在程序执行之前创建,并在程序的整个执行期间一直存在,而不是每次在代码快开始执行时创建,在代原创 2010-09-27 21:34:00 · 520 阅读 · 0 评论 -
关于宏
<br />#define ADD_TO_SUM( sum_number, value) /<br /> sum##sum_number += value<br />.................<br /> <br />ADD_TO_SUM(5, 25) ===> sum5 += 25;<br /> <br />##把位于它两边的符号连接成一个符号。作为用途之一,它允许宏定义从分离的文本片段创建标识符。原创 2011-04-01 16:22:00 · 405 阅读 · 0 评论 -
习题摘要
1.大多数编译器通过ecx 传递this指针。事实上,这也是一个潜规则。this指针在调用之前生成。原创 2011-03-28 17:52:00 · 378 阅读 · 0 评论 -
我所忽略的c 语言标准
1.表达式中有无符号数和有符号数混用的时候先看一个例子:int main(void){unsigned int a = 6;int b = -20return (a+b) > 0 ? 1 : 0;}echo $ 的结果是 1。首先这两个数在内存中都是以补码形式存储的,以上面的例子分别为0xffffffec , 0x6。相加后的值也很明显等于fffffff2可以看一下gcc中反汇编:0: 8d 4c 24 04 lea 0x4(%esp),%ecx原创 2011-03-08 15:24:00 · 498 阅读 · 0 评论 -
c++ 中的explicit
<br />explicit 之所以被导入这个语言,就是为了提供程序员一种方法,使得他们能够制止“单一参数的constructor"被当成是一个conversion运算符。<br />qt里面定义QPushButton的例子:<br />class Q_GUI_EXPORT QPushButton : public QAbstractButton<br />{<br /> Q_OBJECT<br /><br /> Q_PROPERTY(bool autoDefault READ au原创 2010-11-25 15:12:00 · 459 阅读 · 0 评论 -
对宏的使用的理解
<br />#define name(parameter-list) stuff<br />注意:参数列表的左括号必须与name相邻。如果两者之间有任何空白存在,参数列表就会被解释为stuff的一部分。<br />对于#define 替换也有很多诡异的地方,有的时候会让人很费解。<br /> <br />解析步骤:<br />1.<br />2.<br />3.<br /> <br />宏参数和#define 定义可以包含其他#define 定义的符号。但是,宏不可以出现递归。<br /> <br />原创 2010-11-15 17:56:00 · 505 阅读 · 0 评论 -
c++ 对象模型第一次阅读笔记
2010-11-13原创 2010-11-13 13:11:00 · 386 阅读 · 0 评论 -
c测试环境属性
<br />达到可移植性的目的,很多c code都要使用预编译指令来测试环境属性,然后让自己编写的程序来适应当前环境。<br /> <br /> <br />测试机器的大小端:<br />比较容易接收的有下面这种:<br />int x = 1;<br /> <br />if(*(char *)&x == 1)<br /> printf("little endian");<br />else<br /> printf(" endian“);<br /> <br /> <br /> <br />原创 2010-11-13 13:04:00 · 364 阅读 · 0 评论 -
effective c++ and more第二次阅读之笔记
2010-11-13原创 2010-11-13 13:12:00 · 437 阅读 · 0 评论 -
数组和数组名取址的区别(转自windflush.cn/blog)
起因是Expert C Programming的一道习题:#include char ga[14] = "abcdefghijklm"; void my_array_func(charca[10]){ printf(" addr of array param = %#x /n",&ca); printf(" addr (ca[0]) = %#x /n",&(ca[0])); printf(" addr (ca[1]) = %#x /n",&(ca[1])); printf(" ++ca =原创 2010-11-09 15:30:00 · 624 阅读 · 1 评论 -
经典的c语言测试题
<br />绝对能够测试你的C语言功力的几个问题!<br />很少有真正精通了C语言编程的学员,一般都有或多或少概念不是完全清楚的问题,特别是一些需要丰富的实战经验才能体会和明白的问题,如字符串,指针,类型转换,定义指向函数的指针类型,这也是导致学习C困难的一个原因。下面有几个简单测试将能发现你对C语言的掌握情况。<br />1)int x=35;<br /> char str[10];<br />//问:strlen(str)和sizeof(str)的值分别是多少?<br />答:strlen(str转载 2010-10-30 09:55:00 · 484 阅读 · 0 评论 -
一些基础的算法题(面试)
<br />部分IT公司笔试算法题<br /> 个人总结,算法未必最合理,仅供参考: shayg@163.com<br />1、将一整数逆序后放入一数组中(要求递归实现)<br />void convert(int *result, int n) {<br /> if(n>=10)<br /> convert(result+1, n/10);<br /> *result = n%10; <br />}<br原创 2010-10-29 15:52:00 · 3468 阅读 · 1 评论 -
c++ model
2010-11-13 c++对象模型中,Nonstatic data members 被配置于每一个class object之内,static data members 则被存放在所有的class object之外。static 和 nonstatic funtion members也被放在所有的class object 之外。2010-11-27构造语义学:default constructor:copy constructor的建构操作:member class object 成员类对象一个class原创 2010-12-19 00:32:00 · 702 阅读 · 0 评论 -
关于void main(void)的错误
<br />在x86+windows环境下,或许许多处理器和操作系统环境这样写,都没有问题。<br />虽然我一直知道,<br />int main(void) {<br />return 0;<br />}<br />int main(int argc,char**argv)<br />{<br />return 0;<br />}<br />这种写法是c99标准里面规定的。<br />但我不知道为什么会是这样。<br />所以经常也时常写成void main(void)<br /> <br />但是从可原创 2010-10-15 22:19:00 · 3814 阅读 · 0 评论 -
关于extern "c"的写法
#ifndef _ _INCvxWorkSh#define _ _INCvxWorkSh#ifdef _ _cplusplusextern "c"{#endif" 。。。。。。 "(内容 在c++语言中要引用c语言中的函数或者变量)这里面可以包含 c 语言的头文件如:#include" header.h")在c++程序中便可以使用头文件里面的东西。#ifdef _ _cplusplus}#endif这是一个extern " c"很好的例子。在编译实现的头文件里面经常会碰到。原创 2010-10-15 22:37:00 · 760 阅读 · 0 评论 -
STL中的iterator adapter
以ostream_iterator 来说,下面是从vc++摘取的:template<class _Ty, class _Elem = char, class _Traits = char_traits > class ostream_iterator : public _Outit { // wrap _Ty inserts to output stream as out原创 2011-06-23 14:43:00 · 595 阅读 · 0 评论