自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(419)
  • 资源 (49)
  • 问答 (8)
  • 收藏
  • 关注

原创 operator <=> (spaceship operator)

= 与!= 操作符为了检查是否相等,现在定义== 操作符就够了。当编译器找不到表达式的匹配声明a!=b 时,编译器会重写表达式并查找!(a==b)。若这不起作用,编译器也会尝试改变操作数的顺序,所以也会尝试!(b==a):a!=b,!(b==a)因此,对于TypeA 的a 和TypeB 的b,编译器将能够识别并编译a!= b若需要的话,可以这样做• 一个独立函数operator!• 一个独立函数operator==(TypeA, TypeB)

2024-05-28 09:25:21 1125

原创 结构化绑定

为了解决这类问题,C++20标准规定结构化绑定的限制不再强调必须为公开数据成员,编译器会根据当前操作的上下文来判断是否允许结构化绑定。幸运的是,虽然标准是2018年提出修改的,但在我实验的3种编译器上,无论是C++17还是C++20标准,以上代码都可以顺利地通过编译。当在结构体或者类中使用结构化绑定的时候,需要有公开的访问权限,否则会导致编译失败。在上面这段代码中,foo是结构体A的友元函数,它可以访问A的私有成员i。在C++20之前,lambda不能直接捕获结构化绑定的变量的。

2024-05-25 16:26:55 190

原创 Down with typename

• 当指定static_cast、const_cast、reinterpret_cast 或dynamic_cast 的目标类型时。• 在别名声明中(即,使用using 声明类型名称时); 注意,带typedef 的类型声明仍然需要typename。• 当定义或声明函数的返回类型时(除非声明发生在函数或块范围内)• 在require 表达式中声明参数类型时。• 为模板的类型参数声明默认值时。• 声明非类型模板形参的类型时。• 在类声明中使用类型成员时。– 声明成员函数的返回类型时。• 声明尾步返回类型时。

2024-05-25 16:14:47 301

原创 using 用于枚举值

只要在print() 的作用域中没有声明其他名为open、progress 或done 的符号,这段代码就可以正。也可以对无作用域的枚举类型使用using 声明。这不是必需的,但就不必知道枚举类型是如何。对于公开的枚举值,甚至依赖于参数的查找(ADL) 也可以正常工作。可以将上面的例子扩展为。然而,在某些明显没有冲突的上下文中,一直限定每个值可能会变得有点乏味。使用作用域枚举类型,现在可以使用using 枚举声明。使用枚举声明还可以将枚举值委托给不同的作用域。2. 枚举类型委托给不同的作用域。

2024-05-25 16:09:46 259

原创 普通函数的参数中的auto

尽管您可以在类定义中实现C2::foo(),但您无法实现C1::foo(),因为为了检查c2.print()的调用是否有效,编译器需要C2类的定义。在上述代码中,当C1的foo()函数调用c2.print()时,由于C2类的定义仍然是不完整的,编译器无法确定该调用的有效性。因此,这将导致编译错误。请注意,使用auto允许调用者传递任意类型的参数,只要该类型提供一个名为print()的成员函数。难以理解:对于复杂的函数或涉及多个参数的函数,使用auto作为参数类型可能会增加代码的复杂性和难以理解的程度。

2024-05-25 11:22:13 607

原创 range-based for loop

C++11标准引入了基于范围的for循环特性,该特性隐藏了迭代器的初始化和更新过程,让程序员只需要关心遍历对象本身,其语法也基于范围的for循环不需要初始化语句、条件表达式以及更新表达式,取而代之的是一个范围声明和一个范围表达式。其中范围声明是一个变量的声明,其类型是范围表达式中元素的类型或者元素类型的引用。而范围表达式可以是数组或对象,对象必须满足以下2个条件中的任意一个。1.对象类型定义了begin和end成员函数。2. 定义了以对象参数为类型的begin和end普通函数。

2024-05-25 11:13:12 985

原创 ranges and view

站位。

2024-05-25 09:06:39 246

原创 最小生成树

https://zhuanlan.zhihu.com/p/136387766《数据结构》复习9 图【下】 - 知乎最小生成树(Kruskal(克鲁斯卡尔)和Prim(普里姆))算法动画演示_哔哩哔哩_bilibili大话数据结构-普里姆算法(Prim)和克鲁斯卡尔算法(Kruskal)_prim和kruskal-CSDN博客【数据结构】克鲁斯卡尔(Kruskal)算法 —PK— 普里姆(Prim)算法_普里姆算法和克鲁斯卡尔算法区别-CSDN博客最小生成树之普里姆(Prim)算法和克鲁斯卡尔(Kruskal

2024-04-23 13:35:51 240

原创 c++ 派生类向基类转换的可访问性

1.如果派生类以public继承基类,则是is a关系,用派生类可以完成基类的所有功能,所以可以在任意地方将派生类自动转换成基类,注意,这里都是指指针或引用,而不是对象。3.如果D继承B的方式是public或者protected,则D的派生类的成员或者友员可以使用D向B的类型转换;反之,如果D继承B的方式是private,则不能使用。不论D以什么方式继承B,D的成员函数和友员函数都能使用派生类向基类的转换;派生类向其直接基类的类型转换对于派生类的成员函数和友员函数来说永远是可访问的。

2024-04-23 13:27:12 947

转载 C++11 external template

C++11 外部模板

2024-03-05 17:56:09 48

原创 std::vector

主要介绍std::vector相关的知识点

2023-12-14 20:54:47 114

原创 C++构造函数列表初始化的优点

C++构造函数列表初始化的优点

2023-12-13 15:32:08 155

原创 std::map

std::map之emplace() emplace_hint() try_emplace的区别

2023-12-12 20:01:11 114

原创 C++20之concept 和 require

在UML中,类使用包含类名、属性和操作且带有分隔线的长方形来表示,如定义一个Employee类,它包含属性name、age和email,以及操作modifyInfo()public class Employee { private String name; private int age; private String email; public void modifyInfo() { ...... }}在UML类图中,类一般由.

2023-10-24 17:49:05 171 1

原创 四大特性模块(module)

C++20四大特性值模块(module)

2023-10-22 09:00:15 1559

原创 协程的介绍

先占位。

2023-10-22 08:00:23 150

原创 lvalue xvalue prvalue

左值右值将亡值

2023-03-19 15:21:49 349 1

原创 有状态lambda和无状态lambda

有状态、无状态 lambda

2023-02-05 22:23:45 430

转载 template关键字的另外一种使用场景

C++ template

2022-09-26 13:44:31 255 1

原创 C++常用网站

C++相关有用的网站记录下

2022-09-24 09:51:11 785

转载 Beyond Compare对比相同文件仍显示红色

Beyond Compare是一个很不错的文件/文件夹比较软件,在使用它比较文件夹的时候,相同的文件有可能也会被标为红色。然后点击进去一看发现它们都是一样的,再退出来,就变黑了。是什么原因导致了会出现这样的情况呢?下面小编将为你揭晓在Beyond Compare中出现这样情况的原因以及解决该问题的方案。比如下图显示对比结果中,两侧的aaa.xml是一模一样,会话中却以红色标识出来,说明两者不同。在Beyond Compare红色标识文件示例原因分析:之所以标红显示是因为文件的时间戳不一

2022-03-17 13:09:03 3998 1

转载 数组指针和指针数组的区别

数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。p=a; //将该二维数组的首地址赋给p,也就是a[0]或&a[0][0]p++; //该语句执行过后,也就...

2022-01-19 09:58:51 1334

原创 std::tuple 遍历 传递到函数参数

#include <iostream>#include <tuple>struct Drx{ int a;};struct Mg{ int b;};class MsgBuilder{public: void addData(const Drx& drx){ std::cout << "Drx:" << drx.a << std::endl; } v...

2021-12-09 17:02:27 817

原创 gvim8.2 NERDTree中设置根目录和自动启动

在window上安装了gVIm8.2及插件NERDTREE,每次启动gVim的时候根目录不是我想要的。我找到的一个方法只能将就这用下,总比没有的好很多。具体步骤:1. 右键点击gVim,然后在属性的Start in中可以看到的路径是%HOMEDRIVE%%HOMEPATH% 我们把这个修改为自己代码的根目录即可。还有另外一个问题是每次启动的时候还得通过输入NERDTree或者按快捷键才能显示代码目录。在你的_vimrcwe中配置如下:autocmd VimEnter * NERDTr..

2020-11-14 11:14:32 1063

原创 ubuntu20.10终端只显示当前目录名

今天周末大清早的起来安装了ubuntu20.10,打开终端安装vmware tools的时候发现默认显示的是目录的绝对路径,感觉路径名太长了,看着体验不好。我是只想显示当前目录,这样看起来简洁的很。具体操作如下:步骤一, vi 打开~/.bashrc这个文件步骤二,找到如下PS1并把if和else两个分支的小w修改为大W:注意网上很多方法都是只修改了if分支下的w,并没有修改else分支下的w,导致有些人的修改不生效。步骤三, source一下修改的~/.bashrc这个文件

2020-11-14 08:21:27 658 1

原创 Qt5.12设置支持C++17的方法

在安装目录下找到file.pro文件,我的安装目录如下:C:\Qt\Qt5.12.6\Tools\QtCreator\share\qtcreator\templates\wizards\projects\plaincpp\file.pro将CONFIG += console c++11修改为CONFIG += console c++17 即可。

2020-11-05 19:12:06 4560 1

原创 两个没有排序的vector求是否有交集

#include <iostream> // std::cout#include <algorithm> // std::find_if#include <vector> // std::vectorauto test(const std::vector<int>& va, const std::vector<int>& vb)//auto test(const std::vector<in...

2020-09-30 13:33:04 531

原创 5G相关资料下载网址

3gpp文档:https://www.3gpp.org/ftp/Specs/archivehttps://www.3gpp.org/DynaReport/38-series.htmNR frequency bandhttps://www.sqimway.com/nr_band.php

2020-09-15 16:32:16 6967

原创 C语言运算符优先级

mark下 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 -- () 圆括号 (表达式)/函数名(形参表) -- .

2020-07-18 10:30:29 172

原创 std::set自定义排序比较函数

std::set默认是通过std::less函数来比较key值的。#include <iostream>#include <set>void main(){ std::set<int> mySet; // mySet.insert(10); // 默认比较函数为less mySet.insert(20); // 从小到大排序 for(auto it:mySet) { st

2020-07-10 13:21:23 5599

原创 ULM图中类之间的关系:依赖,泛化,关联,聚合,组合,实现

在UML中,类使用包含类名、属性和操作且带有分隔线的长方形来表示,如定义一个Employee类,它包含属性name、age和email,以及操作modifyInfo()public class Employee { private String name; private int age; private String email; public void modifyInfo() { ...... }}在UML类图中,类一般由.

2020-07-05 11:44:55 1163 2

原创 设计模式原则

软间的可维护性和可复用性知名软件大师Robert C.Martin认为一个可维护性(Maintainability) 较低的软件设计,通常由于如下4个原因造成:•过于僵硬(Rigidity)•过于脆弱(Fragility)•复用率低(Immobility)•黏度过高(Viscosity)软件工程和建模大师Peter Coad认为,一个好的系统设计应该具备如下三个性质:•可扩展性(Extensibility)•灵活性(Flexibility)•可插入性(Pluggab

2020-07-04 19:42:33 432

原创 const iterator与const_iterator的区别

const iterator相当于指针常量。即,指针本身为常量,指针自身不可修改,不能指向其他的元素,但指向内容可修改。 const_iterator相当于常量指针。即,指针指向的内容为常量,指针本身可修改,指向其他的元素,但指向内容不可修改。举例如下:#include <iostream>#include <vector>int main(){ std::vector<int> v{1,3,5,7,9}; const std::vector&lt

2020-06-04 13:18:47 509 1

原创 ubuntu 源码重装vim

首先卸载自带vi// 彻底卸载 vimsudo apt-get remove vim vim-runtime vim-tiny vim-common vim-scripts vim-doc

2020-05-17 14:30:41 727

原创 Ubuntu创建root用户及使用

1. 创建root用户在终端输入sudo passwd root然后回车接着会让你输入当前用户密码。输入按下回车输入两次root密码2.使用root用户su root //提示输入root密码。输入即可或者sudo这种方式也可以...

2020-05-17 14:03:19 3812

原创 vmware workstation安装ubuntu20.04图解教程

环境:Win10 64位VMware-workstation-full-15.5.2-15785246Ubuntu版本是 Ubuntu 20.04 LTS 64位 desktop版本下面详细介绍在VMware 虚拟机里安装Ubuntu 20.04 LTS的步骤新建一个虚拟机,选择自定义(高级),然后 点击 下一步2. 点击 下一步3 选择稍后安装操作系统,然后 点击 下一步4客户机操作系统 选择 Linux,版本 Ubuntu 64位(因为下载的是64位的系统,..

2020-05-17 13:59:45 7296 3

原创 std::tie在struct中的用法

#include <iostream>#include <string>#include <map>#include <tuple>using namespace std;struct Test{ int id; std::string name; std::map<int, std::string> address; float wage; auto tie() const {return std::tie(id,.

2020-05-09 15:05:40 406

原创 C++设计模式之迭代器模式(Iterator)(行为型)

一 定义有许多中方法可以把对象堆起来成为一个集合(Collection)。你可以把他们放进数组,堆栈,列表或散列表(Hashtable)中,这是你的自由。每一种都有他自己的优点和合适的使用时机,但总有一个时候,你的客户想要遍历这些对象,而当这么做时,你打算让客户看到你的实现吗?我们当然希望最好不要。如何能让客户遍历你的对象而又无法窥视你存储对象的方式,也将学习如何创建一些对象超集合。迭代器...

2020-04-24 17:32:59 415

原创 C++设计模式之职责链模式(Chain of Responsibility)(行为型)

一 定义 在很多情况下,可以处理某个请求的对象不止一个,如大学里的奖学金审批,学生在向辅导员提交审批表之后,首先是辅导员签字审批,然后交给系主任签字审批,接着是院长审批,最后可能是校长审批,在这个过程中,奖学金申请表可以看成是一个请求对象,而不同级别的审批者都可以处理该请求对象,除了辅导员之外,学生不需要一一和其他审批者交互,只需等待结果即可。在审批过程中如果某一个审批者任务不符合条件,...

2020-04-24 10:50:02 339

原创 C++设计模式之访问者模式(visitor)(行为型)

一定义1 概述在软件开发过程中,对于系统中的某些对象,它们存储在同一个集合collection中,且具有不同的类型,而且对于该集合中的对象,可以接受一类称为访问者的对象来访问,而且不同的访问者其访问方式有所不同。例子1:顾客在超市中将选择的商品,如苹果、图书等放在购物车中,然后到收银员处付款。在购物过程中,顾客需要对这些商品进行访问,以便确认这些商品的质量,之后收银员计算价格时也需要访问...

2020-04-23 15:43:41 1017

LTE信令完整流程讲解

lte的NAS RRC S1-AP等信令的完整流程介绍

2015-02-12

华为SCTP协议

华为写的SCTP协议的pdf格式文档,文档有目录,讲解的一目了然。对于新手很快就能理解。

2015-02-01

slickedit2014 V19

本人亲测win32、win64和linux64可用,linux32还没有测试。 slickedit强大的跨平台,支持超过40种编程语言的代码编辑器。支持AIX、HP-UX、 Linux 32-bit、Linux 64-bit、 Mac OS X、Solaris SPARC、Solaris x86、windows 32-bit、windows 64-bit这些操作系统。还可以用来代码调试,支持远程调试,调试起来比linux下gdb要更直观。

2015-02-01

STL源码V3.3

stl sgi版本 V3.3,里面还有文档说明。

2014-04-15

华为C语言编程面试题

华为C语言面试题 是一些面试题目 各公司也会经常考的笔试题

2014-01-05

链表的基本操作

单链表和双向链表的一些操作,包括创建、增加节点、删除节点、单链表逆置、合并有序链表等。

2013-06-27

epoll使用方法

epoll函数在server端和client端的使用方法

2013-06-27

dhcp技术原理和格式

dhcp 技术详解 原理 包的格式 ipv6

2012-08-30

DHCPV6 ipv6

动态主机分配协议(Dynamic Host Configuration Protocol)DHCP ipv6 dhcpv6

2012-08-29

驱动开发流程源码

嵌入式驱动开发,通过一个简单的实例来描述整个流程,有实例的源代码。看上去一目了然。

2012-04-15

gvim编辑器 加强版vim

Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。Vim的第一个版本由Bram Moolenaar在1991年发布。最初的简称是Vi IMitation ,随着功能的不断增加,正式名称改成了Vi IMproved。现在是在开放源代码方式下发行的慈善软件。   Vim是Linux上著名的文本编辑器,他是早年的Vi编辑器的加强版。gVim是Vim的图形前端,它是跨平台的编辑器,基本上主流的操作系统上面都有它的版本。这是一个国际版本,会根据安装的平台自动选择相应语言包,支持中文及其各种编码,连界面也是中文的,请放心使用。这个极具Unix特色和风格(simple is the best)的编辑器相信会给您带来不同的感受。   在Linux Mint 12软件管理器中, gvim被叫做vim-gnome。

2012-04-15

total commander

total commander 中文版 一、Total Commander本身是一个非常优秀的软件,值得软件爱好者关注。   二、了解Total Commander的发展历史、功能定位、开发方向,可以让用户建立正确的软件价值观,从而有助于对其他软件更深刻(而不是肤浅的)评价和认识。   三、Total Commander是一个会显著提高文件操作效率的工具,而文件操作是应用计算机最基本的功夫,也是伴随一生的操作。因此花一点时间学习,而会受益一世。   四、TC的入门有一定难度,掌握TC后,会让自己在软件应用方面的能力和悟性上一个台阶。

2012-03-29

\Linux内核机制之等待队列

\Linux内核机制之等待队列,消息讲述了wait_queue队列的数据结构和在内核中的实现源码,有助于对如何使用队列更加一目了然。

2012-03-19

vim使用手册

详细的介绍了vim的使用方法;使用起来很方便,有目录的

2011-11-16

Unix网络编程实用技术与实例分析

本书详细介绍了unix环境下网络编程的方法,全书分为四部分:第一部分“网络基础”,尤其是tcp ip 协议族和编程相关的部分;第二部分“套接字”是网络编程的核心,讲解了套接字库函数、tcp套接字,udp套接字的实例;第三部分“unix网络编程使用技术”是本书的重点,如并发服务器技术、名字和IP地址转换、同步及进程间通信技术、异常处理技术、实用套接字类库的创建等,第四部分“高级网络编程”。

2011-11-06

Huffman编码 C语言版

Huffman编码 纯C语言 实验 里面有详细的不走和代码的注释,对Huffman的原理和用途等都有一定的讲解。

2011-10-05

网络程序设计(精简版ppt)

网络程序设计03网络程序设计网络程序设计0303

2011-08-24

Linux网络编程TCP/IP UDP

Linux网络编程,专门讲网络的,讲得很详细,一步一步的讲,学一遍就会了

2011-05-15

TCP-IP详解卷_数通经典教材

TCP-IP详解卷_数通经典教材TCP-IP详解卷_数通经典教材TCP-IP详解卷_数通经典教材TCP-IP详解卷_数通经典教材

2011-03-05

linux 网络变成 和c的编程

有好几个关于linux c变成 和linux 网络变成的文件,而且内容也很经典

2011-03-05

毕业设计论文:电子信息管理系统

本文分析了信息系统前台开发工具与后台数据库技术, JSP技术通过将Java代码嵌入到HTML代码中实现,并且JSP以Java servlet为基础,具备简单易用,完全面向对象,与平台无关,安全可靠,主要面向Internet等特点;SQL语言集DDL,DML,DCL的功能于一体,具有统一的语言风格,高度非过程化,面向集合操作,一种语法提供两种使用模式等一些特点,而 Microsoft SQL Server 2000以SQL语言为基础,是属于服务器级别的数据库,足以应付每天成千上万的访问。

2010-04-24

软件专业各大公司面试题目

各大公司的面试题目及部分答案,有智力题和逻辑推理题等好几种类型的题目。

2010-03-14

C++14新标准-中文版.rar

这是维基百科中对C+14新标准的描述中文版,非扫描版。希望对学习C++14的学子们有帮助。如有侵权请删除之。

2019-11-12

C++11新标准-中文版.rar

这是维基百科中对C+11新标准的描述中文版,非扫描版。希望对学习C++11的学子们有帮助。如有侵权请删除之。

2019-11-12

sourceinsight4.0.0098.rar

source insight 4.0.0098 于6月24号在官网已经发布了,在win64上亲测可用

2019-07-03

sourceinsight4.0.0085

最新的sourceinsight4.0.0085和谐license及和谐文件。真正的4.085版本,2017年4月5发布的,以前的序列号都不能用了,用这个方法和谐,使用附件中的license文件,替换sourceinsight.exe

2017-04-10

C++ Concurrency_In_Action c++11多线程编程

C++ Concurrency_In_Action,c++11多线程编程中文版+英文版+源码,中文版的字体大小一致很整洁,不是那本有的字体大有的字体小的那本。

2017-03-01

Source Insight 4.0.0082破解文件注册码lic下载

Source Insight 4.0.0082破解文件 替换lic 更新版本支持中文。

2017-02-23

slickedit 2016(v21) pro crack 破解

slickedit 2016 v21 pro破解版 操作步骤: 1. 选择对应的版本 2. 点Patch 选择文件 3. 点Generate Linux Mac 等平台的bin文件拷贝到windows底下patch。

2016-11-25

中国移动WLAN AC-AP接口互通规范-基本协议分册 V1.0.6

中国移动WLAN AC-AP接口互通规范-基本协议分册 V1.0.6

2015-09-18

RFC5415(中文)无线AP控制和配置CAPWAP协议标准-书签整齐版

RFC5415(中文)无线AP控制和配置CAPWAP协议标准,自己手动添加了书签很整齐。

2015-09-18

xshell V4.0

Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。

2015-07-08

winscp上传工具

winscp是一款不错的windox和linux之间上传和下载文件的工具,使用起来也很方便。

2015-07-03

xmlview 阅读工具

xmlview是一款不错的xml阅读工具,节点更具有层次性的视图比浏览器更专业。

2015-07-03

source insight插件 siplus

sourceInsight的一个插件,可以显示使用的的文件标签,而且界面也很好看。下载了好几个,就这个比较好。

2015-07-03

TD-LTE数字蜂窝移动通信网 Uu接口

TD-LTE数字蜂窝移动通信网 Uu接口层 协议 中文版

2015-02-11

LTE数字蜂窝移动通信网 X2接口技术要求(第一阶段)

LTE数字蜂窝移动通信网 X2接口技术要求(第一阶段) 中文版

2015-02-11

LTE数字蜂窝移动通信网 S1接口技术要求(第一阶段) 第5部分:数据传输

LTE数字蜂窝移动通信网 S1接口技术要求(第一阶段) 第5部分:数据传输 中文版

2015-02-11

LTE数字蜂窝移动通信网 S1接口技术要求(第一阶段) 第4部分:应用协议

LTE通信协议中文版 S1接口技术要求(第一阶段) 第4部分:应用协议 LTE S1接口 应用协议

2015-02-11

LTE数字蜂窝移动通信网 S1接口技术要求(第一阶段) 第3部分:信令传输

LTE通信标准 中文 s1接口 信令传输

2015-02-11

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

TA关注的人

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