桑海

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年11月1日

摘要: 其他隐式转换指针转换在使用数组时,大多数情况下数组都会自动转换为指向第一个元素的指针:int ia[10]; // array of 10 intsint* ip = ia; // convert ia to pointer to first element不将数组转换为指针的例外情况有:1·数组用作取地址(&)操作符的操作数2或 sizeof 操作符的操作数时3或用数组对数组的引用进行初始化时int ival[6] = {1,2,3,4,5,6}; int (&b)[6] = ival;不会将数组转换为指针。我们将在第 7.2.4 节学习如何定义指向数组的引用(或指 阅读全文
posted @ 2013-11-01 17:00 桑海 阅读(4799) 评论(0) 推荐(0) 编辑

摘要: 1 /* 2 功能: 3 把bool值显示为true或false 4 */ 5 #include 6 using namespace std; 7 8 int main() 9 {10 char str1[] = "abc";11 12 char str2[] = "abc";13 14 const char str3[] = "abc";15 16 const char str4[] = "abc";17 18 const char* str5 = "abc";19 20 const char 阅读全文
posted @ 2013-11-01 16:59 桑海 阅读(335) 评论(0) 推荐(0) 编辑

摘要: 1 #include 2 using namespace std; 3 4 int main() 5 { 6 //cout 2?3+5:"hello") << endl; 8 return 0; 9 }10 /*11 codeblocks:报错:条件运算符.cpp|7|error: operands to ?: have different types 'int' and 'const char*'|12 13 1:”1″不是同一类型14 :前后必须是同一类型or能隐式转换的类型15 */条件运算符 阅读全文
posted @ 2013-11-01 15:31 桑海 阅读(139) 评论(0) 推荐(0) 编辑

摘要: C/C++源代码到可执行程序的过程详解编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。源代码-->预处理-->编译-->优化-->汇编-->链接-->可执行文件Source--(编译)--> Assembly--(汇编)-->Obj--(链接)-->PE/ELF1.编译预处理读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理[析] 伪指令主要包括以下四个方面(1)宏定义指令,如#defin 阅读全文
posted @ 2013-11-01 14:30 桑海 阅读(1816) 评论(0) 推荐(0) 编辑

摘要: 1 #include 2 #define SQR(X) X*X 3 4 int main(int argc, char* argv[]) 5 { 6 int a = 10; 7 int k = 2; 8 int m = 1; 9 10 printf("SQR(k+m) = %d\n", SQR(k+m)); //SQR(k+m) = 511 printf("SQR(k+m)/SQR(k+m) = %d\n", SQR(k+m)/SQR(k+m)); //SQR(k+m)/SQR(k+m) = 712 printf("SQ... 阅读全文
posted @ 2013-11-01 14:15 桑海 阅读(394) 评论(0) 推荐(0) 编辑