C++的学习日记1(C++基础)

汇编(低级语言) -> Fortran(formula translation) (第一个高级语言)(195x年)
-> B -> C(Dennis Ritchie 丹尼斯里奇)
贝尔实验室(AT&T->朗讯->诺基亚)

UNIX(LINUX前身) 操作系统:能够管理计算机资源,处理计算机与用户之间交互的“一组程序”。

C++与C语言相比 优势?

C语言特点: “面向过程”:注重的是数据与算法
过程化编程:首先确定需要计算机采取的操作,然后使用编程语言来实现;
问题: 可重用性差/可维护性差/无法满足用户需求
C++语言特点: “面向对象”:(OOP)object-oriented Programming
对象化编程:让语言满足问题的需求;

命名空间 namespace: 不同厂商可能推出不同的类库中含有相同名称的方法
namespace用来确定用哪一个厂商的方法(为了防止二义性)
1.不同namespace中的变量,函数,结构体;
2.namespace 可以嵌套

using声明/using编译指令

using声明:using NS1::a 后面所有的a都来自于NS1
using编译指令 using namespace std; cout / cin / system

const 常量修饰符
C语言中,const修饰的变量是一个常变量,本质上还是一个变量,有自己的存储空间;
并不是一个真正的常量
C++中,const声明的变量是一个真正的常量(没有自己的存储空间),无法间接被改变
const声明的变量 被放入“符号表”
key:常量修饰符、真正的常量、“符号表”


面试题:C++中const作用
1.const声明的变量是一个真正的常量(没有自己的存储空间),无法间接被改变
2.后续请期待
3.
4.

const与#define(宏定义)的区别
1.const可以指定数据类型;
2.所处时期不同:
#define是属于预处理阶段 (key:文本替换)
const是属于编译器处理阶段
3.const可以用于一些复杂的类型 如数组或者结构体

*#include
using namespace std; 标准命名空间standard

int main()
{

cout << "hello world!" << endl;


 for(int i = 0;i < 10;i++)   实用性加强:什么时候用 可以什么时候定义
 {
 	cout << i << "," ;
 }
 cout << endl;*

 **struct类型加强:** C++中认为一个结构体就是一个新的数据类型,不需要用typedef

 新增数据类型 bool  布尔类型(非0即1)  占用一个字节
bool a = false;
bool b = true;
b += 10;

cout << sizeof(a) << endl;
cout << b << endl;
 任何数值或者指针都可以被隐式转为bool类型


  sizeof / strlen

 char *str = "1111abcd";
 char arr[9] = {1};

 cout << "sizeof(str):" << sizeof(str) << endl;
 cout << sizeof(arr) << endl;      总结 sizeof和strlen的区别



 **运算符**
  单目运算符 ++ -- 
  双目运算符  + - * /
  三目运算符   ( ? :)  C++中可以作为左值使用  =

int e = 10;
int f = 20;
/*int ret = e>f?e:f;*/

(e>f?e:f) = 40;
 作为左值使用的时候,不能有常量
cout << "e:" << e << endl;
cout << "f:" << f << endl;



system("pause");
return 0;

}

C++中引用
引用可以看作一个“已定义变量”的“别名”;(互为别名)
(通过引用变量作为参数,函数使用原始数据,而不是副本)
这样的引用允许a和b互换使用;他们指向相同的值和内存单元,改变a就等于改变b;
意义?
在一些情况下 引用可以代替指针;(指针容易出错)
引用就有了更好的实用性和可读性

引用本质
引用占4个字节 (虽然引用是别名 但是他有自己的存储空间)
引用内部实现: Type &name – Type *const NAME (内部是用常指针实现)
引用作为函数返回值
返回栈变量可能会出错,尤其是再次使用的时候有可能会出错
尽量避免使用 函数返回值为引用(返回栈变量)
返回全局变量或者静态变量是可以的

常引用
const int &b = a; 作用:让b拥有只读属性,不能通过b来改变a
普通引用 int &b = a;

 1 用变量初始化常引用
   int a = 10;
   const int& b = a;

 2 可以用常量初始化常引用;
   const int &a = 40;
   普通引用不可以引用一个常量 int &a = 40错误!!!
   此时这个a有了const修饰 变成一个只读变量

三种函数传参方法: 值传递 指针传递 引用传递

内存分区模型
1 代码区:存放函数体的二进制代码(操作系统管理)
2 全局区:静态变量、全局变量、常量
3 栈区:编译器自动分配释放,存放函数参数值,存放局部变量
4 堆区:程序员手动分配和释放,(指针)

以下是对提供的参考资料的总结,按照要求结构化多个要点分条输出: 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基站邻区添加流程,但未给出具体细节。 新高铁跨海大桥覆盖方案试点展示了特殊场景下的网络规划需求。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值