第一章  文件结构       C/C++程序通常由两个文件组成,一个文件保存程序的声明,称为头文件,.h 文件.一个保存程序的实现,称为定义文件.c文件. 1.1 版权与版本的声明 版权和版本的声明位于头文件和定义文件的开头(参见示例1-1),主要内容有: (1)版权信息. (2)文件名称,标识符,摘要. (3)当前版本号,作者/修改者,完成日期. (4)版本历史信息. 实例如下: /* * Copyright (c) 2001,上海贝尔有限公司网络应用事业部 * All rights res…
2015/12/10补充: 当我们需要给一个数组返回所赋的值的时候,我们需要传入指针的指针.当我们只需要一个值的时候,传入指针即可,或者引用也可以. 结构大致如下: char* p = (char*)malloc(sizeof(char)*num); while() { func(char** p); } free(p); void func(char**p) { char buffer[num] = {0}; for(int i = 0; i < num; ++i) (*p)[i] = buf…
函数设计最重要的无外乎两个方面,一个是函数的接口设计一个是内部实现的一些规则. 在C语言中,函数的参数和返回值的传递方式分为两种: 值传递与指针传递.而C++中,多了一个引用传递. 引用传递有些像指针传递,但使用方式却像值传递. 6.1   参数的规则 规则:参数的书写要规范,不用丢三落四. 规则:参数命名要恰当,顺序要合理. 比如说,拷贝函数,一般是目的参数放前面,源参数放在后面. 一般,我们这样写 void  StringCopy(char *strDestiantion,  char *s…
5.1  为什么需要常量 1)为了便于用户理解,增加程序的可读性. 2)在程序的很多地方都用到同一个常量,用某一个宏常量来定义可以减少错误. 规则:尽可能的使用含义直观明确的常量来表示程序中多次出现的数字或者字符串 5.2  #define  vs   const      一般在C里面一般用#define,而在C++中,更喜欢用const,因为const有很多类型.而define没有类型检查这一说,只是单纯的进行字符替代. 规则:C++中,程序一般使用const常量而不使用宏常量,即const…
4.1 运算符的优先级   规则:如果代码行中的运算符比较多,可用括号确定操作顺序.if((a|b)&&(a&c)) 4.2   复合表达式 规则:不要编写太复杂的复合表达式 规则:不要有多用途的复合表达式   d = (a = b + c) + r ; 不可取. 规则:不要把程序中的复合表达式与真正的数学表达式相混淆 4.3  if语句 本节以"与零值比较"为例,展开分析. 1)布尔变量与零值比较 规则:不可将布尔变量直接与TRUR.FALSE.或者1 . 0…
  3.1  共性规则 规则:标识符应该直观且可以拼读,可进行英语翻译. 规则:标识符的长度需要控制好,不应该太长. 规则:命名规则应该同操作系统或者开发工具等保持一致,比如大小写混用.AddChar(); 规则:程序中最好不要仅靠大小写区分的变量. X 与 x 规则:程序中不要出现同名的变量. 规则:变量的名字可以是 n 或者 adj + n:   value  oddvalue 规则:函数的名字可以是 v 或者 v + n;        DrawBox(): 规则:可用反义词命名互斥的两个…
2.1 空行 规则1:在每个类声明之后,每个函数定义结束之后加空行. 规则2:在某个函数体内,相关的不加空行,不相关的加空行. // 空行 void Function1(-) { - } // 空行 void Function2(-) { - } // 空行 void Function3(-) { - } .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier N…
最近终于开始看<HTTP权威指南>了,第一章主要是简介一些基本的概念.下面列出一些常用,但还不是很了解的简单概念. 一.常见概念: 1.媒体类型 因特网上有数千种不同的数据类型,HTTP仔细地给每种要通过Web传输的对象都打上了名为MIME类型(MIME type)的数据格式标签. MIME类型是一种文本标记,表示一种主要的对象类型和一个特定的子类型,中间由一条斜杠分隔. 格式:类型/格式 如: HTML格式的文本文档由text/html类型来标记. text是文档类型,html是格式. 普通…
序言   Thread是能够使多个code paths 在同一个APP内并发运行的几种技术之一.虽然新的技术为并发运行提供了先进.高效的工具(例如operation 对象和GCD),但是OS X和iOS也提供了用于创建和管理threads的接口. 如果我们正在开发一个新的APP,应该先调研下OS X中并发技术(尤其当不熟悉用于实现多线程APP技术时).这些新技术相较于传统的threads而言,能够减少实现并发的工作量以及提供更高效的性能.更多可用管理线程方式参见Concurrency Progr…
第一章 Android应用初体验 1.4用户界面设计 <?xml version="1.0" encoding="utf-8"?> ADT21开发版以后,Android布局文件已不需要该行代码. 1.4.1视图结构层级(view hierarchy) 继承至View的ViewGroup组件:LinearLayout/FrameLayout/RelativeLayout 1.4.3 字符串资源 一般默认被命名为strings.xml,也可自定义命名,但是这…