- 博客(52)
- 资源 (6)
- 收藏
- 关注
转载 cin cin.get cin.getlin
cin:遇到空格,回车或者制表符就会结束输入,这样就导致了我们不能输入一个带有空格的字符串。cin.get(),cin.getline() :但是,很好,C++的这两个函数帮我们解决了这一问题,它们都表示每次读取一行字符串输入。不过,这两个函数也有一些区别:cin.getline()和cin.get()。这两个函数都读取一行输入,直到达到换行符。然而,随后cin.getline()将丢...
2018-11-01 17:10:34
284
转载 c++四种转换
C++ 类型转换(C风格的强制转换):在C++基本的数据类型中,可以分为四类:整型,浮点型,字符型,布尔型。其中数值型包括 整型与浮点型;字符型即为char。(1)将浮点型数据赋值给整型变量时,舍弃其小数部分。(2)将整型数据赋值给浮点型变量时,数值不变,但是以指数形式存储。(3)将double型数据赋值给float型变量时,注意数值范围溢出。(4)字符型数据可以赋值给整型变量...
2018-10-30 17:14:52
1376
转载 c++中STL 关于map,set,vector的用法
一、vectorvector相当于是一个可以存放一个任意数据类型的一个容器,通过迭代器可以对其进行相应的操作,如下: 1 vector<CString> arrTest; 2 arrTest.push_back(L"你"); 3 arrTest.push_back(L"我"); 4 arrTest.push_back(L"他"); 5 6 vector...
2018-10-29 19:12:40
248
转载 什么是P问题、NP问题和NPC问题
这或许是众多OIer最大的误区之一。 你会经常看到网上出现“这怎么做,这不是NP问题吗”、“这个只有搜了,这已经被证明是NP问题了”之类的话。你要知道,大多数人此时所说的NP问题其实都是指的NPC问题。他们没有搞清楚NP问题和NPC问题的概念。NP问题并不是那种“只有搜才行”的问题,NPC问题才是。好,行了,基本上这个误解已经被澄清了。下面的内容都是在讲什么是P问题,什么是N...
2018-10-24 16:07:37
144
原创 c++ 友元和异常
1. 如果remote类是local类的成员,当使用friend class remote对remote类进行声明时,remote类为local类的友元类。2. 友元成员函数把remote的某个成员函数声明为Tv类的友元函数3. 可以互为友元类4. 一个函数可以同时是两个类的友元函数。5. 注意嵌套类和类包含的区别6. abort()函数终止程序并打印abnormal ...
2018-10-18 20:30:14
176
原创 c++ 代码重用
1. string类用来处理字符串,valarray类用来处理数值。2. 公有继承,类可以继承接口和实现;组合关系,获得实现,不能获得接口。3. 类成员使用构造函数初始化时,初始化的顺序是成员被类声明的顺序,而不是构造函数的成员列表的顺序。4. 使用包含时将使用对象名来调用基类方法,使用私有继承时用类和作用域解析符调用基类方法5. 私有继承通过强制类型转换来访问基类的对象。6....
2018-10-18 19:05:21
263
原创 c++ 内存模型 名称空间
1. auto用于自动类型推断2. register不再是寄存器变量,而是显示地指出变量是自动的3. 全局变量的链接性默认为外部的,使用static限制为内部链接。使用const定义的全局变量默认为外部链接的。在函数使用const修饰的变量,在函数结束时不会释放掉变量中的值,再次调用该函数时,该变量的值为上次函数结束前的值。4. 将变量声明为volatile,编译器不进行优化。5....
2018-10-17 23:30:48
131
原创 c++ 多态
多态公有继承:1. 在派生类中重新定义基类的方法2. 使用虚方法如果要在派生类中重新定义基类的方法,通常应将基类方法声明为虚的。这样,程序将根据对象类型而不是引用或者指针的类型来选择方法版本。为基类声明一个虚析构函数也是一种惯例。3. 非构造函数不能使用成员初始化列表的方法。4. 派生类方法中调用基类同名方法,基类方法需要使用作用域解析符来限定。如果不是同名,则不必使用作用域解...
2018-10-16 14:59:05
237
原创 c++ 返回对象的说明
1. 返回指向const对象的引用返回对象将调用赋值构造函数,返回引用不会。如果函数的返回值是指向const对象的引用,函数类型应该设置为const。2. 返回指向非const对象的引用重载赋值运算符“=”,避免使用复制构造函数重载与cout连用的运算符“<<”,cout<<s1<<"is coming";operator<<(c...
2018-10-15 19:56:44
702
原创 c++学习笔记 类
1. c++对结构进行了扩展,使之具有与类相同的特性。结构的默认访问类型是public,而类的private2. 一般来说类成员的声明和定义要放在不同的文件中,体现c++的封装特性3. 类成员函数调用同一段代码,可以把此段代码作为private成员,减少代码的重写过程,此处可以将相关的代码段函数定义为内联函数。内联定义可以紧跟着类的声明。4. 类的对象有各自的存储空间,各个类使用的方法...
2018-10-14 15:49:55
158
转载 TCP/UDP区别以及UDP如何实现可靠传输
TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。 UDP(User Datagram Protocol) UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务。并且它是将应用程序发来的数据在收到的那一刻,立刻按照原样发送到网络上的一种机制。 即使是出现网络拥堵的情况下,...
2018-09-28 09:32:25
332
转载 TCP和UDP的区别和优缺点
1、TCP与UDP区别总结:1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。3...
2018-09-28 09:31:39
1919
转载 计算机网络基础知识面试常考点
1、OSI,TCP/IP,五层协议的体系结构,以及各层协议 OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。每一层的协议如下:物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器,网关...
2018-09-28 09:30:37
450
转载 LTE:OFDM的原理
章节一:时域上的OFDM OFDM的"O"代表着"正交",那么就先说说正交吧。 首先说说最简单的情况,sin(t)和sin(2t)是正交的【证明:sin(t)·sin(2t)在区间[0,2π]上的积分为0】,而正弦函数又是波的最直观描述,因此我们就以此作为介入点。既然本文说的是图示,那么我们就用图形的方式来先理解一下正交性。【你如果能从向量空间的角度,高屋建瓴的看待这个问题的话,你也就...
2018-09-27 23:58:02
902
转载 5G:认识5G关键技术
(一)SDR 定义 软件定义的无线电(Software Defined Radio,SDR) 是一种无线电广播通信技术,它基于软件定义的无线通信协议而非通过硬连线实现。频带、空中接口协议和功能可通过软件下载和更新来升级,而不用完全更换硬件。 所谓软件无线电,其关键思想是构造一个具有开放性、标准化、模块化的通用硬件平台,各种功能,如工作频段、调制解调类型、数据格式、加密模式、通信协议等...
2018-09-27 23:52:40
12268
转载 Makefile经典教程
概述 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写...
2018-09-27 23:48:10
268
转载 5G:非正交多址接入(NOMA)与串行干扰删除(SIC)
(一)在过去20年中,随着移动通信技术飞速发展,技术标准不断演进,第四代移动通信技术(4G)以正交频分多址接入技术(OFDMA)为基础,其数据业务传输速率达到每秒百兆甚至千兆比特,能够在较大程度上满足今后一段时期内宽带移动通信应用需求。然而,随着智能终端普及应用及移动新业务需求持续增长,无线传输速率需求呈指数增长,无线通信的传输速率将仍然难以满足未来移动通信的应用需求。IMT-2020(5G)...
2018-09-27 23:45:32
14101
3
转载 内存管理的内幕
动态分配的选择、折衷和实现本文将对 Linux™ 程序员可以使用的内存管理技术进行概述,虽然关注的重点是 C 语言,但同样也适用于其他语言。文中将为您提供如何管理内存的细节,然后将进一步展示如何手工管理内存,如何使用引用计数或者内存池来半手工地管理内存, 以及如何使用垃圾收集自动管理内存。 为什么必须管理内存 内存管理是计算机编程最为基本的领域之一。在很多脚本语言中,您不必担...
2018-09-27 23:41:50
259
转载 Linux多线程编程
一、什么是线程? 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。二、什么时候使用多线程? 当多个任务可以并行执行时,可以为每个任务启动一个线程。 三、线程的创建...
2018-09-27 23:39:43
161
转载 LTE调度
1 概述 LTE的无线资源调度功能位于eNodeB的MAC子层。无线资源调度时eNodeB的一项核心功能,目的是决定哪些用户可以得到何种资源,即决定每个用户使用的时频资源、NCS、SISO/MIMO等。 无线资源调度由eNodeB中的动态资源调度器实现。动态资源调度器为下行共享信道(DL-SCH)和上行共享信道(UL-SCH)分配物理层资源。DL-SCH和UL-SCH分...
2018-09-27 23:28:46
3760
转载 PDU和SDU的区别
在电信领域,术语协议数据单元(PDU,Protocol Data Unit)有以下几层意义:1、网络的对等实体传送的信息单 元,包括了控制信息,地址信息,或者数据。2、在协议系统里,在指定的协议层 上传送的数据单元,包含了该层的协议控制信息和用户信息。3、在OSI模型系统里,PDU和最底下四层相关:(1)物理层(一层)PDU指数据流(Bit Stream)。(2)数据链路层(二层)PDU...
2018-09-27 23:08:34
3878
原创 gnuradio作图展示
刚实验室的时候,师兄们在做基于oai平台的5g算法elwa(wifi和lte的分流)的验证,oai平台是基于linux系统的,为了能展示lte和linux的分流效果,我作为一个研零的小白,以在linux平台下展示lte和wifi分流开启了我的研究生生活。我的工作很简单,就是将师兄给我的lte和wifi的传输速度值实时动态的展示在表盘上,同时做一个动态的曲线,能够展示历史记录。在linux系...
2018-09-27 22:45:46
1544
原创 matlab作 snr-bler图
近期在SDR平台OAI中做数据信道的编译码,即5G中的相关标准,将LTE中的数据信道编码turbo码改成ldpc码。基于在做完编译码之后需要测试ldpc编译码的snr-bler性能,在此,将测得的snr bler数据画出snr-bler图是工作的一小部分,为了便于工作,在matlab平台上写了一个m文件来实现此功能。m文件中的代码如下:%作图一a=importdata('mcs00.tx...
2018-09-27 22:45:30
3181
转载 LTE学习笔记九:物理层过程(二)
6.测量过程物理层的测量过程一般是由高层配置和控制的,物理层只是提供测量的能力而已。根据测量性质的不同,测量可分为同频测量、异频测量、异系统测量;根据测量的物理量不同,可分为电平大小测量、信道质量测量、负荷大小测量等。根据测量报告的汇报方式,可分为周期性测量、事件测量等。协议中一般根据测量的位置不同,将测量分为UE侧的测量、eUTRAN侧的测量。6.1 手机侧测量UE侧的测量有连接...
2018-09-21 09:49:20
565
转载 LTE学习笔记八:物理层过程(一)
终端和网络需要建立密切的信息交互,手机和网络都要进行哪些物理层的交互呢?终端需要搜索到服务自己的网络,然后接入网络,这就涉及小区搜索过程和随机接入过程;在交互过程中,终端和网络都需将功率调节到合适的大小,以增强覆盖或抑制干扰,这就是功率控制过程;网络想找到某一个终端,以期与其建立业务连接,这就是寻呼过程;网络的自适应能力依赖于对无线环境的精确感知,测量过程为网络的自适应提供依据;终端和网络的有...
2018-09-21 09:48:16
861
转载 LTE学习笔记七:LTE的信道
信道是不同类型的信息,按照不同传输格式、用不同的物理资源承载的信息通道。根据信息类型的不同、处理过程的不同可将信道分为多种类型。重点介绍LTE的逻辑信道、传输信道、物理信道等常见的信道类型,并和3G相应的信道类型作了比较,通过比较可以加深LTE信道结构的理解。最后给出LTE从逻辑信道到传输信道,再到物理信道的映射关系。依据不同的货物类型,采用不同的处理工艺,选择相应的运送过程,最后保证接收...
2018-09-21 09:47:10
2763
转载 LTE学习笔记六:MIMO多天线技术
不断提高空中接口的吞吐率是无线制式的发展目标。MIMO多天线技术是LTE大幅提升吞吐率的物理层关键技术。MIMO技术和OFDM技术一起并称为LTE的两大最重要物理层技术。MIMO技术很多原理,涉及一些线性代数知识(我也不想学怎么用latex什么的写矩阵了),内容也很多,我学习LTE主要是想了解并简单学习一些协议,没打算太深入地学习天线方面的知识,因此只简单地摘抄了书本的部分内容作为笔记。1.M...
2018-09-21 09:44:59
2083
转载 LTE学习笔记五:LTE两种帧结构
上、下行信息如何复用有限的无线资源,这是所有无线制式必须考虑的双工技术问题。以往的无线制式要么支持时分双工(TDD)要么支持频分双工(FDD),而LTE标准即支持TDD,又支持FDD,分别对应着不同的帧结构设计。1.两种双工模式LTE支持两种双工模式:TDD和FDD,于是LTE定义了两种帧结构:TDD帧结构和FDD帧结构。LTE标准制定之初就充分考虑了TDD和FDD双工方式在实现中的异...
2018-09-21 09:43:23
1783
转载 LTE学习笔记四:OFDM
OFDM是LTE物理层最基础的技术。MIMO、带宽自适应技术、动态资源调度技术都建立在OFDM技术之上得以实现。LTE标准体系最基础、最复杂、最个性的地方是物理层。1.OFDM正交频分复用技术,由多载波技术MCM(Multi-Carrier Modulation,多载波调制)发展而来,OFDM既属于调制技术,又属于复用技术。采用快速傅里叶变换FFT可以很好地实现OFDM技术,在以前由于技术...
2018-09-21 09:41:59
1235
转载 LTE学习笔记三:接口协议
上一笔记说明了LTE网络的网元组成,网元之间的联系是通过标准化的接口。接下来学习LTE终端和网络的空中接口Uu、基站之间的X2接口、基站与核心网之间的S1接口,以及LTE接口协议栈和以往无线制式相比的特点。1.接口协议栈接口是指不同网元之间的信息交互方式。既然是信息交互,就应该使用彼此都能看懂的语言,这就是接口协议。接口协议的架构称为协议栈。根据接口所处位置分为空中接口和地面接口,响应...
2018-09-21 09:40:30
868
转载 LTE学习笔记二:扁平化的组网架构
上一笔记的最后说明了层级组网架构和扁平化组网架构的区别,目前,无论是公司管理还是4G组网,都向着更加灵活的扁平化趋势发展。LTE的组网架构发生了革命性的变化,但对外宣称是“演进”。LTE“演进”的工作可以概括为:“四化一分离”。①扁平化。取消中间级,加强基层职能。②分组化。取消专用特权通道(CS域),加强分组共享能力。③IP高速化。取消传统信息传送方式,修建现代IP信息高速公路。④...
2018-09-21 09:37:33
2229
转载 LTE学习笔记一:几个通信相关术语
LTE(Long Term Evolution,长期演进)是3GPP主导制定的无线通信技术,关注的核心是无线接口和无线组网架构的技术演进问题。 IEEE组织只是针对宽带无线制式的物理层(PHY)和媒介接入控制层(MAC)层制定了标准,并没有对高层进行规范。LTE由3GPP主导,执意将LTE打造成未来较长时间内领先的无线制式。LTE技术与其说是Evolution(演进),不如说是Revolu...
2018-09-21 09:35:29
709
2
原创 c++学习笔记小记(16)
局部对象自动对象:只存在于块执行期间的对象称为自动对象局部静态对象:局部静态对象在程序执行路径第一次经过对象定义语句时初始化,并且直到程序终止时才被销毁,在此期间即使对象所在的函数结束执行也不会影响对它的影响参数传递1. 传值参数当初始化一个非引用类型的变量时,初始值被拷贝给变量,此时对变量的改动不会影响初始值指针形参指针的形参和其他非引用类型一样,当执行指针拷贝操作时...
2018-09-19 14:14:59
127
原创 c++学习笔记小记(15)
跳转语句break语句break语句负责终止离它最近的while、do while、for或者switch语句continue语句continue语句终止最近的循环中的当前迭代并立即开始下一次迭代,continue语句只能出现在for、while和 do while循环的内部,或则嵌套在此类循环里的语句块的内部,和break语句类似的是,出现在嵌套循环中的continue语句也仅作用于离它最近的循...
2018-07-15 11:58:22
157
原创 c++学习笔记小记(14)
迭代语句1 while语句当不确定要迭代多少次时,使用while循环比较合适。2 传统的for语句for (int i = 0; i<10; i++) cout<<i;循环开始,首先执行int i = 0;接下来判断i < 10;条件为真,执行循环体内容;若条件为假,则循环体内容一次也不执行条件为真,执行循环体,之后执行i++,其中init i = 0只执行一次for...
2018-07-13 00:39:43
156
原创 c++学习笔记小记(13)
条件语句1 if语句注意else会与最近的if相匹配,与缩进无关。可以通过使用 { } 来使得指定的else和if相匹配2 switch语句case关键字和它对应的值一起被称为case标签,case标签必须得是整型常量表达式,任何两个case标签的值不能相同,否则会出错,default也是一种特殊的case标签。如果某个case标签匹配成功,将从该标签开始往后顺序执行所有case分支(即执行该...
2018-07-13 00:14:57
159
原创 c++学习笔记小记(12)
sizeof运算符sizeof运算符返回一条表达式或者一个类型所占的字节数对数组执行sizeof运算符得到整个数组所占空间的大小,等价于对数组中的每个元素各执行一次sizeof并求和对string对象或者vector对象执行sizeof运算只返回该类型固定部分的大小对引用执行sizeof返回被引用对象所占空间大小对指针执行sizeof运算得到指针本身所占空间大小对解引用执行sizeof运算得到指针...
2018-07-11 18:20:45
191
原创 c++学习笔记小记(11)
赋值运算符赋值运算满足右结合律int i=j=0; //先计算j=0;然后将j赋值给i赋值运算符优先级较低while((i = get()) != 1){} //此处while的条件中一定要加括号,否则会出问题赋值运算符(=)和相等运算符(==)是有区别的递增和递减运算符int i=0,j;j = ++i; //j=1,i=1 前置版本得到递增之后的数值j = i+; //j...
2018-07-10 00:23:41
198
原创 c++学习笔记小记(10)
表达式运算过程中,一把小整数类型通常会被提升为较大的整数类型,一般会被转化成int类型1. 运算符的重载IO库中的<< 、>>以及string、vector等的运算符都是重载运算符当一个对象被用作右值的时候,用的是对象的内容;当对象被用作左值的时候,用的是对象的地址。右值的地方可以使用左值来代替,但是不能把右值当做左值来使用,当一个左值被当做右值来使用时,实际使用的是它的内...
2018-07-05 20:53:47
165
c++语言应用------基于visual studio的聊天软件的实现之服务器(仔细看资源描述)
2018-01-08
c++用结构体和栈来解决迷宫问题
2018-01-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人