第一天——找工作

        因为寻找的是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.区分重载函数

暂时写这些吧,也不多我感觉光写这个没多大用,还是写代码来得实在。

                                                        

《Linux0.11内核源码解读第一季——汇编启动部分》是一本深入解析Linux0.11内核源代码的书籍。汇编启动部分是整个内核启动过程中的重要环节,能够帮助读者深入理解操作系统的启动和初始化流程。 首先,汇编启动部分是内核启动的第一步。它通过软件中断机制在实模式下启动。通过设置系统段描述符和全局描述符表,为操作系统提供必要的运行环境。在启动过程中,汇编启动部分会初始化中断向量表、设置栈段(SS)和栈指针(SP),并跳转到引导扇区加载内核文件。 接着,书籍详细分析了引导扇区的装载过程。引导扇区会被BIOS加载到内存地址0x7C00处,然后执行引导扇区的代码。在引导扇区中,汇编启动部分会进行一些必要的初始化工作,如设置栈段和栈指针,加载中断描述符表以及读取磁盘上的内核文件。 此外,书籍还介绍了一些启动相关的概念和知识,如分段机制、实模式和保护模式之间的切换等。读者通过学习这些知识,可以更加清楚地了解硬件和操作系统之间的交互过程。 总之,汇编启动部分是Linux0.11内核启动的关键环节,对于理解操作系统的启动过程非常重要。《Linux0.11内核源码解读第一季——汇编启动部分》通过深入剖析源代码,让读者能够全面了解Linux内核的启动过程,并通过这些知识来探索更深入的操作系统原理。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值