正文
自定义数据结构
在函数内部自定义数据结构 :
struct Sales_data { std::string bookNo; unsigned units_sold = 0; double revenue = 0.0; }; void testSales_data() { Sales_data data1, datda2; double price = 0; cin >> data1.bookNo >> data1.units_sold >> price; data1.revenue = data1.units_sold * price; }
在函数体外定义类 : 在.h头文件声明
命名空间的using声明 :
using声明 :
using namespace std; using std::cin;
string初始化 : 直接初始化 , 拷贝初始化
void testinitializeString() { string s1; string s2 = s1; string s3 = "hiya"; string s4(10, 'c'); // s4 的内容是 cccccccccc string s5 = "hiya"; string s6("hiya"); //直接初始化 }
string 读写操作熟练代码 :
void testReadString() { string word; while (cin >> word) { cout << word << endl } string line; while (getline(cin, line)) { if (!line.empty) { cout << line << endl } } }
string 对象比较 : 除了常规的== 和 != , 这里C++ 还有< , >等关系运算符来比较长度
- string 对象相加 : 字面值不能直接相加
string 字符处理 : 在cctype头文件中定义了一组标准库函数来处理.
标准库类型vector : 类似于java的arrylist , 有下标 , 可以添加.
- vector 的初始化 :
void testInitializeVector() { vector<string> v1{ "a","b","c","d","e" }; vector<string> v1(10, "hi"); // 列表里面10个 "hi" }
- vector 的初始化 :
迭代器 :
遍历 : 与 java 遍历略有不同
void testIterator() { string s("hello world"); for (auto it = s.begin; it != s.end && !isspace(*it); ++it) { //do something } }
迭代器类型 :
void testIterator() { vector<int>::iterator it; //可读写vector里面的元素 vector<int>::const_iterator it1; //只能读 string::iterator it2; //可读写string中的字符 string::const_iterator it3; //只能读 }
补充
typedef : 定义新的类型 , 一般作用于 指针函数 或 struct
http://www.cnblogs.com/shenlian/archive/2011/05/21/2053149.htmlextern : 在C++中使用c语言的函数,需要使用extern “C“编译才能过 .
http://blog.csdn.net/puppet_master/article/details/47681849C/C++预处理指令 : #define,#ifdef,#ifndef,#endif
http://www.cnblogs.com/zi-xing/p/4550246.html指针函数 和 函数指针 : http://www.cnblogs.com/gmh915/archive/2010/06/11/1756067.html
(1) 指针函数 : 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受
(2) 函数指针 : 指向函数的指针变量,即本质是一个指针变量
c/c++ 宏的使用 : http://blog.csdn.net/cshichao/article/details/9340885
a. 可以对C语法做小的修改
b. 控制条件编译
c. 带参数的宏 相当于定义的一个方法
d. ##运算符 , 表示连接符attribute((unused)) : 消除未使用参数警告 ;
http://www.cnblogs.com/coding-my-life/p/4175761.htmlclass 与 struct 在 C 和 C++ 中的区别 :
http://blog.csdn.net/yangzhiloveyou/article/details/8536793