因为寻找的是C/C++,一般公司要求的都是熟悉c++语言,Socket编程,SQList数据库、Mysql数据库,网络编程,多进程多线程,TCP/IP通信协议和数据结构。
就我现在所学知识,梳理一遍。
首先,C++是面向对象的一门编程语言,即程序员创造不同对象,安排任务,结果由程序自己完成。
1.引用:对一个变量的引用鱼变两本身操作完全一样(无需考虑取址或取内容)
特性:1.可以改变引用值,但是不能让其成为其他变量的引用。
2.声明引用必须初始化,且不能用NULL。
3.初始化为纯数值,const修饰不可改变。
4.变量引用的地址赋予指针,指针还是指向原来变量。
5.可对指针创建引用。
6.可应用const对引用进行修饰,此时不能改变引用值,可以改变原变量。
2.引用参数 :干净且整洁,参数传递效率高,因为没有副本生成。
void swap3(int &a,int &b)
{
a=a^b;
b=a^b;
c=a^b;//值得置换
}
注意:一般用const修饰,作为函数参数,使用不当会无意间改变函数外参数数值。
3.c++类型转换
long a = 2345;
int b = (int)a;
//c++格式
int c(a);
//传统c
int e = d;
int f(d);//c++
int g{d};//C++窄化警告
4.字符串数型String
1.String 为c++标准库一个类引入头文件<string>
2. String大多数替代char* (不必担心内存是否足够,字符串长度等)
3.String使用ASCLL编码存储字符串,不支持中文。
String s1 = "hello world";
//获取字符串长度
s1.size();
s1.length();
//for ...each遍历
for(char c : s1)
{
cout << c << " ";
}
//取字符串、字符
String a("have a good time");
a[30] //程序运行不终止
a.at(30) //程序运行终止
注意:[ ] at 不仅仅用于String类型。
5.字符串与数字类型转换:需调用<sstream>
//数字转字符串
int a = 20;
stringstream ss;
ss << a;
string s = ss.str();
//字符串转数字
istringstream is(s);
int b ;
is >> b;
cout << b << endl;
6.内联函数:可替代宏定义函数(inline)放在函数前即可
void show_max(int a, int b)
{
//声明一个函数
}
inline void show_max(int a,int b)
{
a>b? cout << a : cout << b;
}
优点:内联函数 编译时展开函数体到主函数中编译(执行效率高)。
适用于:代码长度小,频繁使用。 注意:内联函数不能包含复杂控制语句(循环、多分支)。
7.函数重载(overload):一个函数名定义多个函数
要求:函数名相同 参数个数不同或参数类型不同 调用时根据不同参数决定调用那个函数。
函数参数默认值:1.传新值覆盖 2.可以出现在函数声明或定义位置 3.默认值设定(向右原则)
8.哑元函数:只有参数类型没有名
特点:1.参数列表匹配更严 2.保持函数向前兼容性 3.区分重载函数
暂时写这些吧,也不多我感觉光写这个没多大用,还是写代码来得实在。