自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

翻译 Arrays.asList() 不能正常工作吗?

Arrays.asList()不能正常工作吗?我有一个float[],现在希望将将其转换为形同元素的List。比较傻的方法是将其一个一个的加进去,但是我想用Arrays.asList方法。在这个过程中出现了一些问题。这样是有效的:List<Integer> list = Arrays.asList(1,2,3,4,5);但是这样是无效的:int[] ints = new int[] {1,2,3,4,5};List<Integer> list = ...

2021-04-20 18:39:01 140

原创 配置设备和流媒体

地址字符串是主要的用来识别一个设备的标志(参见Device Identification);但是也可以用来配置设备。举一个例子,当你用下面的设置跑rx_samples_to_file的时候:$ rx_samples_to_file --args type=b200,master_clock_rate=16e6将会首先用type标志符来查询和你的系统相连的B200或B210设备,...

2019-07-14 22:06:25 325

原创 发送注意事项

运输层是处于设备IO和包接口之间的一层。需要优化的用户可以通过设备地址传输可选的参数到底层传输层这些可变参数控制传输层如何分配内存,重新定义内核缓冲区大小,产生线程等等。当没有特别指定的时候,传输层将会用已知的能在多数设备上正常运行的参数。在UHD软件里面传输层参数按如下方式定义:UDP传输(sockets)UDP传输还在用户空间中实现的。这意味着标准的Berkeleysockets...

2019-07-11 15:54:09 262

原创 设备同步

下面的应用注意解释了怎么去同步多台设备,为了达成发送或接收时间同步采样,在mimo或者其它需要多台设备同步操作的应用中。注意:下面的内容不能用于usrp1.通用参考信号:usrp使用两个参考信号去同步同步时间和时钟:一个10M的参考,给两台设备提供信号频率参考。 一个pps,用于跨平台的采样时间同步。 mimo cable 发送编码的时间消息从一个设备到另一个设备。PPS和...

2019-07-10 16:43:02 2434

原创 基础应用笔记

调频笔记一个usrp有两级变频机制:RF射频前端:将射频信号变频到中频DSP:数字变频,中频信号道基带在一个典型的应用案例中,用户对信号通道指定一个笼统的中心频率。RF射频前端尽量的调整到靠近中心频率,DSP负责处理RF射频前端频率和期望中心频率的差距。用户可以通过uhd::tune_request_t对象获取两级变频的控制,这样可以实现更加有用的变频。通常,使用UHD的优化...

2019-07-09 15:23:55 371

转载 ubuntu18VNC

一、sshapt-get install ssh编辑配置文件:gedit /etc/ssh/sshd_config找到#Port 22,去掉注释二、远程连接工具VNC 打开终端,我们需要安装vncserver的基础服务,输入以下命令:sudo apt-get install xrdp vnc4server xbase-clients再次,我们需要取消掉请...

2019-07-05 17:19:59 879

原创 16.1模板

template <typename T>int compare(const T &v1, const T &v2){ if(v1 < v2) return -1; if(v2 < v1) return 1; return 0;}模板类型参数:template <typename T> T foo(T *...

2019-07-03 14:33:09 80

原创 函数调用运算符

struct absInt{ int operator()(int val) const{ return val < 0 ? -val:val; }};这个类定义了操作:函数调用运算符,它负责接受一个int类型的实参,然后返回该实参的绝对值。调用:int i=-42;absInt absObj; //含有函数运算符的对象int ui = a...

2019-07-02 10:48:33 336

原创 14.2.2节练习

istream &operator>>(istream &is, Sales_data &item){ double price;//不需要初始,因为我们将先读入数据到price,之后才使用它 is >> item.bookNo >> item.units_sold >> price; if(is)...

2019-07-02 09:05:54 72

原创 14.2.1节练习

练习14.6:为你的Sales_data类定义输出运算符。// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。#include "stdafx.h"#include <iostream>#include <vector>#include <string>using namespace std;class S...

2019-07-01 21:01:32 75

原创 14.1节练习

//错误 不能为int重定义内置运算符int operator+(int, int);当运算符作用于内置类型的运算对象时,我们无法改变运算符的含义。只能重载已经有的运算符而不能发明新的符号。//一个非成员运算符函数的等价调用data1 + data2; //普通表达式operator+(data1, data2); // 等价的函数调用//显式调用成员运算函数...

2019-07-01 16:57:20 131

原创 12.1.6练习

weak_ptr<T> w; //定义一个空的weak_ptrweak_ptr<T> w(sp); //定义一个weak_ptr并与shared_ptr绑定 这个操作不会增加计数器w=p; //给weak_ptr赋值 此操作不会增加p的计数器w.reset(); //将 weak_ptr置空w.use_count(); // 获取与weak_pt...

2019-06-12 20:56:20 82

原创 12.1.5节练习

继承上一次的操作,在unique_ptr中自定义 释放函数的过程中又这样的操作:unique_ptr<MyClass, decltype(freefuc)*> p2(new MyClass, freefuc); 这里的freefuc的参数必须是 freefuc(Myclass *p); 就像下面这段代码一样。// ConsoleApplication1.cpp : 定义...

2019-05-20 10:14:53 139

原创 12.1.5节练习

unique_ptr<T> u1; //u1是一个空的T类型的智能指针unique_ptr<T, D> u2; // u2,空的类型为T的智能指针 自定义的释放函数类型为D unique_ptr<T, D> u(d); // 空的智能指针u 类型为T 自定义释放函数的类型为D 函数名为du = nullptr; //将u置为空 ...

2019-05-17 22:17:09 98

原创 12.1.4节练习

void f(destination &d /* 其它参数 */){ connection c = connect(&d); shared_ptr<connection> p(&c, end_connection); //使用链接 //当f退出时(即使由于异常而退出),connection 会被正确关闭}不使用相同的内置...

2019-05-17 16:13:13 97

原创 12.1.3节练习

explicit修饰的构造函数:1.不能使用隐式的类型转换。2.必须使用直接初始化形式。能够通过一个实参调用的构造函数定义了一条从构造函数的参数类型向类类型隐式转换的规则。string null_book = "9-999-99999-9";//构造一个临时的sales_data对象item.combine(null_book);上面,item是之前定义好的一个对象,它的c...

2019-05-15 21:00:32 151

原创 5.13日志

一周没有光顾我的c++了,前面的有些淡忘,学东西贵在思考和重复,就像唱歌一样多唱几遍才能记住歌词就算是天才的歌唱家如果只听或者唱一遍也很难记住歌词。随性回忆一下前面看的内容:智能指针 维持一个数据结构当检测到最后一个指向某块内存的指针被销毁时,释放指针。shared_ptr<vector<int>> p = make_shared<vector&lt...

2019-05-13 10:42:07 80

原创 12.1.2节练习

vector<int> a = { 0, 1, 2, 3, 4, 5, 6, 7, 8 }; vector<int> *pi = new vector<int>(a.begin(), a.end());练习12.6:编写函数,返回一个动态分配的int的vector。将此vector传递给另一个函数,这个函数读取标准输入,将读取的内容把存在vector元...

2019-05-13 10:29:57 150

原创 12.1.2直接管理内存

int *pi = new int; //pi指向一个动态分配的,未初始化的无名对象string *ps = new string; //初始化为空stringint *pi = new int(1024); //初始值为1024string *ps = new string(10, '9'); //初始值为10个9vector<int> *pv = new vect...

2019-05-07 10:47:57 172

原创 12.1.1节练习

练习12.1:在此代码的结尾,b1和b2各包含多少个元素?StrBlob b1;{ StrBlob b2 = {"a", "an", "the"}; b1 = b2; b2.push_back("about");}答:b1包含4个元素 b2由于新加了一个元素包含4个元素。因为里面用了共享内存练习12.2:编写你自己的StrBlob类,包含const版...

2019-05-07 09:30:58 161

原创 9.6节练习

容器适配器练习9.52:使用stack处理括号化的表达式。当你看到一个左括号,将其记录下来。当你在一个左括号之后看到一个右括号,从stack中pop对象,直至遇到右括号,将左括号也一起弹出栈。让后将一个值(括号内的运算结果)push到栈中,表示一个括号化的(子)表达式已经处理完毕,被其运算结果所替代。// ConsoleApplication1.cpp : 定义控制台应用程序的入...

2019-05-04 12:07:10 163

原创 9.5.5节练习

//string和数值之间的转换to_string(val); //val可以是任何算数类型。stoi(s,p,b); //s:待转换字符 stol(s,p,b); //p: size_t 类型指针,表示string字符串中第一个非数值字符的下标。stoul(s,p,b); //b:默认10进制。stoll(s,p,b);stoull(s,p,b);stof(s,p,b...

2019-05-02 23:00:16 85

原创 9.5.3节练习

string搜索操作://搜索操作返回指定字符出现的下标,如果未找到则返回npos。s.find(args); //查找s中args第一次出现的位置s.rfind(args); //查找s中args最后一次出现的位置s.find_first_of(args); //在s中寻找args中任何一个字符最后一次出现的位置。s.find_last_of(args); //在s中查找ar...

2019-05-02 15:46:22 101

原创 9.5.2节练习

练习9.43:编写一个函数,接受三个string参数s,oldVal和newVal。使用迭代器及insert和erase函数将s中所有oldVal替换为newVal。测试你的程序,用它替换通用的简写形式,如,将“tho”替换为“though”,将“though”。答:做题之前先总结一下前面string 的基本操作。string s(cp) //从位置cp开始拷贝 直到遇到空字...

2019-04-30 10:31:15 155

原创 9.5.1节练习

练习9.41:编写程序,从一个vector<char>初始化一个string.vector<char> ch={'a','b','c','d','e','f'};string st(ch.begin(),ch.end());如果是数组按照地址初始化是一样的操作。练习9.24:假定你希望每次读取一个字符存入一个string中,而且知道最少需要读取100个字符,...

2019-04-29 19:57:45 103

原创 9.4节练习

练习9.35:解释一个vector的capacity和size的区别。reserve : 1.重新分配容器的容量 当分配容量小于原有容量时 什么都不做 大于时将容量扩展到新的容量 可能更大。2.只适用于vector 和 stringshrin_to_fit 只适用于vector、string、和deque。capacity和reserve只适用于vector和stri...

2019-04-29 19:41:33 124

原创 9.3.6节练习

练习9.31:第316页中删除偶值元素并复制奇值元素的程序不能用于list或者forward_list。为什么?修改程序,使之也能用于这些类型。316页代码://傻瓜循环,删除偶数元素,复制奇数元素vector<int> vi = {0,1,2,3,4,5,6,7,8,9};auto iter = vi.begin(); //调用begin而不是cbegin,因为我们要改...

2019-04-29 17:11:19 185

原创 OFDM--IDFT实现

《移动通信》课程报告题目:OFDM原理及其应用专业班级 0191401 姓 名 熊 鑫 学 号 2014210227 提交日期 2017年6月4日 目 录一、选题意义... 1二、国内外研究现状分析... 1...

2019-04-29 16:23:43 3052

原创 9.3.5节练习

练习9.29:假定vec包含25个元素,那么vec.resize(100)会做什么?如果接下来调用vec.resize(10)会做什么?resize() 1.新规定大小小于原大小,将多的删除。2.大于 在后面添加新值。c.resize(n) //调整大小为n 默认初始化c.resize(n, t) //调整大小为n 任何新添加的元素都赋值为t答:vec.resize(...

2019-04-29 16:22:07 78

原创 9.3.4节练习

练习9.27:编写程序,查找并删除forward_list<int>中的奇元素。编写代码之前,先介绍一下特殊的forward_list操作。由于forward_list是单向链表,不能像其它容器那样指定删除某个元素。只能指定删除某个元素的后一个元素,这样才方便在单向链表中实现。基于此,定义了如下单向链表操作函数:(代替原有的insert erase emplace)...

2019-04-29 15:43:43 55

原创 9.3.3节练习

练习9.25:对于第312页中删除一个范围内的元素的程序,如果elem1与elem2相等会发生什么?如果elem2是尾后迭代器,或者elem1与elem2相等会发生什么?如果elem2是尾后迭代器,或elem1和elem2阶是尾后迭代器,又会发生什么?答://1.删除两个迭代器表示的范围内元素//2.返回指向最后一个被删元素的之后位置的迭代器。//3.elem1指向要删除的第一个元素...

2019-04-29 10:00:55 111

原创 9.3.2节练习

练习9.23:在本节第一个程序(第309页)中,若c.size()为1,则val1,val2,val3和val4的值会是什么?//在解引用一个迭代器或调用front或back之前检查是否有元素。if(!c.empty()){ //val1 和 val2是c中一个元素值的拷贝 auto val = *c.begin(), val2 = c.front(); //val...

2019-04-28 21:54:30 62

原创 9.3.1节练习

顺序容器常规操作总结:1.相等比较(== 和 !=):所有顺序容器都支持的操作。2.关系运算(< >等):需要满足条件 1.容器和数据类型都一样。2.数据类型支持比较操作。对容器类型没有限制3.初始化:练习9.18:编写程序,从标准输入读取string序列,存入一个deque中。编写一个循环,用迭代器打印deque中的元素。deque<string&g...

2019-04-28 21:15:26 129

原创 9.2.7节练习

练习9.15:编写程序,判定两个vector<int>是否相等?大小评判标准:逐个比较,越长越大。1.每个容器都支持相等运算符(==和!=);2.除了无序关联容器外所有的容器都支持关系运算符(>、>=、<、<=)。3.相等运算符和关系运算符两边运算对象要保证:容器类型一样、数据类型一样。 vector<int> s1 = { 1...

2019-04-28 15:55:39 86

原创 9.2.5节练习

练习 9.14:编写程序,将一个list中的char *指针(指向c风格字符串)元素赋值给一个vector中的string.list<char *> s = {"im", "not", "happy"};vector<string> s1(s.begin(),s.end());swap(c1, c2);将容器c2和容器c1交换,c1和c2必须要是相同的类型(包括...

2019-04-23 21:35:40 219

原创 9.11

练习9.11:对6种创建和初始化vector对象的方法,每一种都给出一个实例,解释每个vector包含什么值。答:以vector<int>为例:vector<int> s1(s2)vector<int>s1=s2vector<int>s1(10,1)vector<int>s1={1,2,3}vector<in...

2019-04-23 10:28:55 219

原创 9.2.2和9.2.3

9.7 为了索引int的vector中的元素,应该使用什么类型。答:使用vector<int>::iterator ite;9.8 为了读取string的list中的元素,应该使用什么类型?如果写入list,有该用什么类型?答:读取用 list<string> const_iterator ite; 只读。写入用 list<string> i...

2019-04-22 22:02:28 195

原创 c++ 9.2.1

1.构成迭代器范围的迭代器有何限制。答:迭代器描述的范围是一个左闭合区间,换句话说,包含开始但是不包含结尾。限制是:开始位置的迭代器经过增长能够到达结束为止的迭代器(能和最终位置的迭代器相等)。2.编写函数,接收一对指向vector<int>的迭代器和一个int的值。在两个迭代器指定的范围中,查找给定的值,返回一个布尔值指出是否找到。// ConsoleApplicat...

2019-04-21 16:52:46 165

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除