【转行学习日记02】c/c++语言基础笔记和自我理解

什么叫做面向对象

一.实现面向对象的机制,所以我们引用的概念和应用
int n=4;
int &r = n;//说明 r引用了 n,r 的类型就是int &
某个变量的引用等价于这个变量,看着好像是一个房子 开了两个门一样 因为这个&很像是一个取地址啊

一个例子 就是c语言中如何编写交换两个整形变量值的函数 因为形参和实参的原因导致形参改变了,实参没有变化
原来是利用的指针

现在来看一个范例
void swap( int & a,int&b)
{ int tmp;
tmp=a ;a=b;b=tmp;}
int n1 ,n2 ;
swap (n1 ,n2) ; 这里n1 ,n2进入了swap函数里面以后直接被ab所引用了,所以就造成了实参的变化
二.定义引用的时候,前面加const 关键字 ,即为“常引用”
如 int n;
const int & r=n; 这个带来的就是 r就变成了一个后门,你知道门后面装的啥,就是改变不了,进不去出不来
只能通过n这个大门进,当然n可以进去 注意const int & 和int &是不一样的类型

下面来看const的用法
const可以用来定义常量,就是说这个房子的内容被我定死了,隔离了
还可以定义常量指针 比如 int n,m; const int * p= & n;
*p = 5;是不可以的 ,就是说p这种钥匙是房东给的,房东要求你不能够动房间里的东西
n=4;是可以的,房东可以自己换
p=&m;是可以的,你用这把钥匙重新加工了一下 可以开m的门了
并且你不可以把常量指针赋值给非常量指针,反过来可以,就是说这把钥匙先天垃圾一等
函数参数为常量指针时,房东会放心些

三.动态内存的分配
我有一个医院方案,但是每次不知道送来多少病人,所以我的床位的方案是一直在改变的
用new运算符实现动态内存的分配 就是说火神山,而delete就是搞完马上拆了,地空出来给别人用
int *p = new int ;
new的类型其实也是int ,这个时候p就可以用了,只是说用完以后这个内存会给别人
int *pn = new int[20];
再来看看怎么拆除
比如 int *p = new int ; *p =5; delete p;就删除了,只能删除一次,该指针必须指向new的空间,别拆错了
比如int *pn = new int[20]; p[0] =1; delete []p; 前面加个p代表是拆数组,可能会怕拆不干净

四.内联函数
函数调用是有时间开销的,为了减少函数调用的开销,引入了内联函数机制
而内联函数机制就是将整个函数的代码插入到调用语句处而不会产生调用语句
在函数定义之前加“inline”关键字就可以定义内联函数
inline int Max(int a,int b)
{ if(a>b) return a;
return b;}
就是说原来去医院要坐车,现在就把这个医院搬到我们自己小区里面来了,以后看个小病不用跑
函数重载
名字相同,但是参数和参数类型不相同
就是说连锁医院,看你实参类型和个数判断去哪个函数那里去 当然如果出现两个科室都能去,就会扯皮会出现二义性
函数的缺省参数
void func( int x1 ,int x2=2,int x3=3){}
func(10);//这样就默认后面为23,即为10,2,3
func(10,8)//这样就默认10,8,3
func(10,8)//error 只能最右边的连续 那么缺省值就是最右边的连续若干个参数有缺省值
目的在于提高程序的可扩充性,就是说我去医院有个服务是新加的,但是以前的人没有这个条件,但是以前的功能还能用,一样执行,
多余的功能就默认了
五.结构化程序设计
c语言使用结构化程序设计:
程序=数据结构+算法
程序有全局变量以及众多相互调用的函数组成
算法是以函数的形式实现的,用于对数据结构进行操作
那么随着程序规模的增加,程序逐渐难以理解,很难一下子看出来

有诸多问题,现在引入一个面向对象的程序设计方法
面向对象的程序=类+类+类。。。。

将某类的事物的特点归纳,用多个变量描述事物的属性 控制工程基础(物理模型?)
将这类事物所能进行的行为也归纳出来,形成一个个函数,这些函数可以用来操作数据结构(这一步叫做抽象)
通过某种语法形式,将数据结构和操作该数据结构的函数捆绑在一起,形成一个类,从而使得数据结构和操作该数据结构的算法呈现出
一种显而易见的关系,这就是封装
面向对象的程序设计就有“抽象”“封装”“继承”“多态”
成员变量,成员函数。把一个类看作一个社区,里面有一些工作人员,一些机构
那么机构可以执行某些功能但是需要一些对应的工作人员去操作, 这个社区就是一个类,可以互相调用
例如:class CR
{ public:
int w ,h;
int Area(){
return wh;}
int per(){
return 2
(w+h);}
void Init( int w_,int h_){
w=w_; h=h_;}
};//必须有分号 这里面有三个成员函数
那么CR就就是一个类了,就和int一样,可以直接赋值 需要注意的的是CR的所占的内存空间大小是sizeof(int)*2,
成员函数是公用的,不会算在里面
例如 int main()
{ int w,h;
CR r;//r是一个对象
cin >> w>>h;
r.per(w,h);
cout << r.Area<<endl
return 0;} w,h 就直接输入到这个类里面了
当然还可以用指针去定义 还有引用 不做赘述

六.类和对象的基本概念
类的成员函数和类的定义可以分开写
如class CR
{ public:
int w,h;
int Area();};//成员函数尽在此声明
int CR::Area(){
return w*h;}这样有两个::代表这个是一个类的函数
在类的定义中,用下列访问范围的关键字来说明类成员可以被访问的范围:
private:私有成员,只能在成员函数内访问
public:公有成员 protected:保护成员
如果某个成员前面没有上述关键字,就缺省被认为是私有成员
私有成员就是说我只能在类里面去访问,而出去这个类就不能被访问,也就是说在main函数里面不能进去访问
有点像学区房一样,这个学校只能周围社区的人去读,或者进入成员函数去调用,而不能直接调用
好处就是如果我要更改成员变量的属性,我只需要在类里面修改,因为外部不能够直接调用,所以也不存在需要
修改外部。也就说我修改一个政策不用考虑你外面的情况,因为你外面的只能通过我的机构访问我
,我只需要对机构进行修改就可以了

成员函数也可以重载和参数缺省

以下是对提供的参考资料的总结,按照要求结构化多个要点分条输出: 4G/5G无线网络优化与网规案例分析: NSA站点下终端掉4G问题:部分用户反馈NSA终端频繁掉4G,主要因终端主动发起SCGfail导致。分析显示,在信号较好的环境下,终端可能因节能、过热保护等原因主动释放连接。解决方案建议终端侧进行分析处理,尝试关闭节电开关等。 RSSI算法识别天馈遮挡:通过计算RSSI平均值及差值识别天馈遮挡,差值大于3dB则认定有遮挡。不同设备分组规则不同,如64T和32T。此方法可有效帮助现场人员识别因环境变化引起的网络问题。 5G 160M组网小区CA不生效:某5G站点开启100M+60M CA功能后,测试发现UE无法正常使用CA功能。问题原因在于CA频点集标识配置错误,修正后测试正常。 5G网络优化与策略: CCE映射方式优化:针对诺基亚站点覆盖农村区域,通过优化CCE资源映射方式(交织、非交织),提升RRC连接建立成功率和无线接通率。非交织方式相比交织方式有显著提升。 5G AAU两扇区组网:与三扇区组网相比,AAU两扇区组网在RSRP、SINR、下载速率和上传速率上表现不同,需根据具体场景选择适合的组网方式。 5G语音解决方案:包括沿用4G语音解决方案、EPS Fallback方案和VoNR方案。不同方案适用于不同的5G组网策略,如NSA和SA,并影响语音连续性和网络覆盖。 4G网络优化与资源利用: 4G室分设备利旧:面对4G网络投资压减与资源需求矛盾,提出利旧多维度调优策略,包括资源整合、统筹调配既有资源,以满足新增需求和提质增效。 宏站RRU设备1托N射灯:针对5G深度覆盖需求,研究使用宏站AAU结合1托N射灯方案,快速便捷地开通5G站点,提升深度覆盖能力。 基站与流程管理: 爱立信LTE基站邻区添加流程:未提供具体内容,但通常涉及邻区规划、参数配置、测试验证等步骤,以确保基站间顺畅切换和覆盖连续性。 网络规划与策略: 新高铁跨海大桥覆盖方案试点:虽未提供详细内容,但可推测涉及高铁跨海大桥区域的4G/5G网络覆盖规划,需考虑信号穿透、移动性管理、网络容量等因素。 总结: 提供的参考资料涵盖了4G/5G无线网络优化、网规案例分析、网络优化策略、资源利用、基站管理等多个方面。 通过具体案例分析,展示了无线网络优化中的常见问题及解决方案,如NSA终端掉4G、RSSI识别天馈遮挡、CA不生效等。 强调了5G网络优化与策略的重要性,包括CCE映射方式优化、5G语音解决方案、AAU扇区组网选择等。 提出了4G网络优化与资源利用的策略,如室分设备利旧、宏站RRU设备1托N射灯等。 基站与流程管理方面,提到了爱立信LTE基站邻区添加流程,但未给出具体细节。 新高铁跨海大桥覆盖方案试点展示了特殊场景下的网络规划需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值