自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (20)
  • 收藏
  • 关注

原创 编解码乱码说明

2019-12-12 10:38:31 177

原创 铁路信号基础知识——信号部分

一.信号信号:是传递信息的符号。铁路信号设备是一个总名称,概而言之为信号、联锁、闭塞铁路信号:是向有关行车和调车作业人员发出的指示和命令;联锁设备:用于保证站内行车和调车工作的安全和提高车站的通过能力;闭塞设备:用于保证列车区间内运行的安全和提高区间的通过能力。(一)铁路信号的分类铁路信号按感官的感受方式可分为视觉信号和听觉信号两大类。视觉信号:是以颜色、形...

2019-06-25 22:01:27 30985 5

原创 轨道交通——信号知识——6202电气集中设备

一.6502电气集中选择组电路1.记录电路:记录电路由按钮继电器电路和方向继电器电路组成。1)按钮继电器电路:对应每个进路按钮设置1个AJ,对应每个单置调车信号机设三个AJ,因它既可以作为进路始端,又可以作为进路顺向终端,还可以作为变通按钮使用。2)方向继电器电路:每个咽喉设置有LJJ、LFJ、DJJ、DFJ四个方向继电器,他们平时均落下。2.选岔电路(六线制选岔网络)1)1、...

2019-06-24 12:33:52 13351

原创 Delphi 中的常用事件

原文地址:Delphi 中的常用事件作者:星云月序号事件描述OnActive焦点称到窗体或控件时发生OnClick鼠标单击事件OnDbClick鼠标双击事件OnClose和OnCloseQuery当关闭一个窗体时就会响应OnClose和OnCloseQuery事件 ,OnCloseQuery事件比OnClose具有更高的优先级。OnContex...

2019-01-10 11:31:24 620

转载 OPC UA简介

OPC UA简介面向开发人员的快速入门指南和工具作者:Manny Mandrusiak, OPC营销副总, OPC基金会, 特约编辑中文译者:闫文霞最近在电视上看到,消费电子取得了一些突破性的技术进步,这让我感到非常惊奇。例如,手机上配备了内置的Google应用,一款内置Google应用的惠普打印机则支持用户直接从互联网或无线设备上打印图像和文档。真正令人吃惊的是那些将最终用户的连...

2018-09-14 16:11:28 5438

原创 CSocket create 套接字失败,原因没有初始化套接字。

一直失败,原理,socket要调用全局初始化 if (!m_PlantMessage->Create(portNo, SOCK_STREAM, FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT | FD_CONNECT | FD_CLOSE, strIPaddress)) { int nErrorCode = m_PlantMessage->GetLas...

2018-07-03 14:03:12 3297

转载 C++中的函数重复定义问题

本人注释:头文件中直接写函数实现会出现重复定义的错误,但是如果是在类中直接写函数实现就不会出现此错误,原因是两个cpp都包含该头文件,相当于头文件中的同一个函数实现被编译了两次,那么就出现了二义性问题,即调用该函数的地方不知道应该使用哪个函数实现.类中写函数实现就没这个问题,因为会被当成inline函数处理.另外,这与函数重载不一样,函数重载由于特征标的存在编译器能够区分调用哪个实现,其实相当于两...

2018-07-02 19:57:39 5622 2

原创 Qt操作excel基本方法

1:连接控件Excel2: 打开工作簿(新建或打开Excel文件)3: 打开sheet4: 获取行数,列数5: 读和写6:设置样式7: 保存文件8:另存为9:关闭文件1:连接控件ExcelQAxObject excel("Excel.Application");//连接Excel控件excel.setProperty("Visible", false);// 不显示...

2018-04-30 14:56:00 14657 2

原创 Qt编码问题总结

Qt5.7.1 IDE, qt create 4.1 QApplication a(argc, argv); QString strMessage1 = QString::fromLocal8Bit("我是UTF8编码的文件:"); QString strMessage2 = QStringLiteral("我是UTF8编码的文件:"); QString strMessag...

2018-04-30 10:17:34 289

转载 Qt下载地址

上Qt官网http://www.qt.io/download/想下载Qt,速度很慢,在这里记录下在Qt官网看到的镜像下载地址:1. 所有Qt版本下载地址:http://download.qt.io/archive/qt/2. 所有Qt Creator下载地址:http://download.qt.io/archive/qtcreator/3. 所有Qt

2017-05-17 07:38:39 384

原创 Class GraphObject

This is the abstract base class for all graphical objects. Classes inheriting from GraphObject include: Shape, TextBlock, Picture, and Panel. From the Panel class the Part class is derived, from w

2017-03-26 20:34:39 565

原创 爬坑二

1。有一个vector 其中有值 0,1,0,2,2,3,1请删除重复的元素并从小到大排序(建议使用泛型算法等)。(泛型算法)。2.编写一段程序,从标准输入中读取若干string对象并查找连续重复出现的单词,记录出现最大连续出现次数和对应的对象。如果没有连续重复出现,输出说明信息。3.编写程序,将一个list中的char* 指针(指向C风格字符串)元素赋值给一个vector中的string

2017-03-20 14:09:05 351

原创 爬坑

已知数据表A中每个元素距其最终位置不远,为了节省时间,应采用的算法是(B)。A.堆排序B.直接插入排序C.快速排序D.直接选择排序struct   Test     {             Test(   int   )   {}             Test()   {}             void   fun()

2017-03-20 13:42:24 268

转载 error:LNK2005 已经在*.obj中定义

为什么会出现这个错误??“error LNK2005: 已经在*.obj中定义”   编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误,弄清楚它形成的原因,就可以轻松解决它了。  造成LNK2005错误主要有以下几种情况:  1.重复定义全局变量。可能存在两种情况:   A、对于一些初学编程的程序员,有时候会以为需要使用

2017-03-16 09:27:48 1545

转载 Qt之pro配置多个子工程/子模块

简述进行Qt项目开发的时候,尤其是大型项目,经常涉及多工程/多模块问题,其主要思想还是模块化,目的是为了降低程序复杂度,使程序设计、调试和维护等操作简单化。简述配置效果多工程多模块更多参考配置效果多工程如果需要管理多工程(pro),比如:库工程、界面工程,其中,每一个工程均可单独编译成功,但存在依赖

2017-03-11 10:48:08 714

转载 Qt之命令行编译(nmake)

简述前两节讲解了如何在Visual Studio和Qt Creator中搭建Qt开发环境,并分享了我们第一个小程序-Hello World。下面分享如何使用命令行来编译Qt程序。当然,MSVC和MinGW的配置和编译过程相差无几。简述新建打开命令行生成 proqmakenmake运行注意事项新建新建一个”HelloWorld.

2017-03-11 10:46:35 1354

原创 vs快捷键 switch tab tab enter 自动填充枚举类型

先switch然后两下tab会补完到default,光标显示在switch后的变量这时输入枚举,输完后回车,补完所有枚举的case

2017-03-10 17:58:43 4461 3

原创 typeid().name()有bug

void test2(){int v2 = 0;int v1 = v2;int i = 0;const  int *p2 = &v2, *const p3 = &i;cout }void main(){//test1();test2();cin.get();}

2017-03-07 17:59:16 706

原创 自定义QGraphicsItem的继承顺序

class Node : public QObject,public QGraphicsItem {Q_OBJECT      ....}注意:一定要将public QObject放在public QGraphicsItem的前面,并且在该类的定义中添加Q_OBJECT宏.编译时出现警告 Warning: Class Node implements the interfa

2017-03-03 15:46:16 1322

转载 Qt creator使用快捷键和自动补全功能的设置

1、Qtcreator中常用快捷键:F1        查看帮助F2        跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2    声明和定义之间切换F4        头文件和源文件之间切换Ctrl+1         欢迎模式Ctrl+2        编辑模式Ctrl+3        调试模式Ctrl+4        项目设置模

2017-02-28 13:57:43 3985

转载 VS+QT没有PRO文件的问题之二(添加pri文件)

QT VS-addin通过如下方式添加pri文件不幸的是,这个功能似乎有问题万幸的是QT VS-addin能够导出pro文件在vs中卸载当前项目(重要)打开生成的pro文件,加入pri文件打开pro文件vs中加载项目

2017-02-21 10:17:49 6334 1

原创 QTreeWidget

方法封装和connect(ui.treeWidget, SIGNAL(itemChanged(QTreeWidgetItem*, int)), this, SLOT(treeItemChanged(QTreeWidgetItem*, int)));void initQTreeWidgetItem(QTreeWidgetItem *item, QString str, Qt::ItemFlag

2017-02-17 10:37:02 537

原创 输出操作算子

//输出操作算子//cout//cout//cout//cout.precision(5);设置有效数字//cout//cout//cout.imbue(locale("french_france"));科学计数法显示//cout.imbue(locale(""));3位一个逗号分隔

2017-02-15 17:53:47 288

原创 拷贝构造和赋值重载,移动拷贝,赋值拷贝

1构造函数:如果类中定义的构造函数或者拷贝构造或者移动构造其中一个,都会导致默认构造函数失效,使默认构造函数生效的代码为:构造函数=defalt  。构造函数和移动构造的关联:若定义了移动构造,在对象赋值或者赋值结束后马上要销毁时,会优先调用移动构造和移动赋值,若类没有定义移动构造和移动赋值,则会调用拷贝构造或者赋值重载函数(效率低)。2拷贝构造函数:调用拷贝构造函数:函数或者一个方法

2017-02-15 17:52:57 459

转载 多字节字符与宽字节字符

多字节字符与宽字节字符char与wchar_t我们知道C++基本数据类型中表示字符的有两种:char、wchar_t。 char叫多字节字符,一个char占一个字节,之所以叫多字节字符是因为它表示一个字时可能是一个字节也可能是多个字节。一个英文字符(如’s’)用一个char(一个字节)表示,一个中文汉字(如’中’)用3个char(三个字节)表示,看下面的例子。void Te

2017-01-21 17:11:06 630

原创 C++方法后加const

在C++的类定义里面,可以看到类似下面的定义:01class List {02private:03     Node * p_head;04     int length;

2017-01-21 16:22:20 799

原创 #define __T(x) L ## x

表示L与x连接。以下来自网络:#define Conn(x,y) x##y#define ToChar(x) #@x#define ToString(x) #xx##y表示什么?表示x连接y,举例说:int n = Conn(123,456); 结果就是n=123456;char* str = Conn("asdf", "adf")结果就是 str = "asdfadf";怎么样,很神奇吧再来

2017-01-17 21:16:02 2298

原创 QucikSort

#define _CRT_SECURE_NO_WARNINGS#include#include #include #include #include #include #include void show(int *a, int length){ for (int i = 0; i < 10; i++) { printf("%4d", *(a + i)); } pr

2017-01-08 15:48:40 172

原创 不定长串的字典排序

#include #include #include #include using namespace std;typedef string *pString;typedef queue StrBucket;/* 变长的字符串的字典排序 输入: strings:有字符串组成的数组,待排序 strCnt:strings中的字符串的个数 m:每个字符的范围在0-m之间

2017-01-08 15:09:32 460

原创 SQL 第一范式、第二范式、第三范式、BCNF

一、第一范式 1NF要求:每一个分量必须是不可分的数据项。特点:1)有主键,且主键不能为空。2)字段不能再分。示例:(以下例子不满足第一范式)[sql] view plain copy print?/*学号      年龄        信息*/    Sno       Sage        S

2017-01-07 10:21:12 1232

转载 T-SQL查询进阶--深入浅出视图

简介      视图可以看作定义在SQL Server上的虚拟表.视图正如其名字的含义一样,是另一种查看数据的入口.常规视图本身并不存储实际的数据,而仅仅存储一个Select语句和所涉及表的metadata.    视图简单的理解如下:        通过视图,客户端不再需要知道底层table的表结构及其之间的关系。视图提供了一个统一访问数据的接口。

2017-01-07 09:58:13 287

原创 基数排序之定长字典排序

#include #include using namespace std;typedef int * pInt;typedef queue Bucket;/* 定长的字典排序 输入: A:待排序的整数序列的数组。每个元素是一个整数序列,按照这些整数字典排序 n:整数序列的个数 k:整数序列的长度 m:整数序列中的每个整数范围从0到m-1 输出:A是已经排序

2017-01-05 15:13:47 349

原创 new delete的局部重载

类的内部重载new  delete  监管new  delete (实现单例模式,统计次数,避免反复delete异常)。每一个默认的类都有new  delete。#include using namespace std;class Test{public: static int numTest; static Test* pTest; Test() { } st

2017-01-01 21:03:30 489

原创 c++中静态成员变量要在类外部再定义,否则产生link2001错误

c++中静态成员变量要在类外部再定义,否则产生link2001错误.class testClass{  public:  static int m_i;};// 类外部定义,若不写会产生// error LNK2001: unresolved external symbol "public: static int testClass::m_i" (?m_i@te

2017-01-01 20:58:37 322

原创 new 和内存四区的 交情

/*new 借助了朋友str的帮助,即使朋友str的地方特别小装不下,new的变量,也不会报错。因此自己要考虑内存溢出的问题.*///char str[3] = { 0 };//分配在静态区void main(){ char str[3] = { 0 };//分配在栈区 //char *str = new char[3]{ 0 };//分配在堆区 int *p1 = new

2017-01-01 19:56:15 280

原创 delete 和 delete[]

delete  和 delete[] 对于基本数据类型的效果一致。重点讨论复杂数据类型:Test *pTest(new Test());delete[] pTest;//触发异常,单个堆上的对象不能用[].Test *pTest(new Test()[10]);delte pTest;只会调用一次析构函数.

2017-01-01 19:20:25 367

原创 malloc free 与 new delelte的区别

对于基本数据类型  malloc free 和  new  delete  的效果一样,有一点不同 free (p);  delete p free 不改变p的值,delete 改变p的值,指向了一个特殊位置p=0X08123;因此为了避免迷途指针,释放的指针应设定为nullptr;malloc free 对于复杂数据类型class  struct  他们不会调用构造和析构函数。从

2017-01-01 14:24:22 503

原创 C与CPP的同与不同

一struct info{ int id; int num;};void main(){ struct info infos[4]{ {1, 1}, { 1, 2 }, { 1, 3 }, { 1, 4 } }; for (auto var :infos) { cout << var.id<<var .num<<endl; }//在栈上初始化没问题 struct

2017-01-01 12:35:50 367

原创 引用3

函数指针引用getp(p)("mspaint");函数调用如何理解:调用函数返回值(返回值是一个函数指针)的函数。getp  调用的函数名   p 函数参数    (“mspaint”)因为getp的返回值是一个函数指针,因此 它是调用返回的函数的参数。说明引用的本质是指针的两种情况int *getp(){int a =5;return &a;//worning 返

2017-01-01 11:56:55 203

转载 某些CHM文件不能查看内容的解决方法

今天下载了一个微软语音SDK sapi,想打开里面带的帮助文件sapi.chm,发现文件打开后不能看到内容,如下图:什么原因呢,从文件夹中选择此文件,通过右键菜单打开文件属性对话框,如下图:通过解除锁定按钮,解除文件锁定。再打开文件,则可以看到内容了。其实还有一种情况影响CHM文件的打开,即文件放在有中文目录名称的路径

2016-12-27 13:55:21 1241

ZeroBraneStudio1.9和lua脚本测试代码

ZeroBraneStudio1.9和lua脚本测试代码 ZeroBrane Studio下载地址1: 官网下载:https://studio.zerobrane.com/ GitHub下载:https://github.com/pkoretic/ZeroBraneStudio/releases ZeroBrane Studio是一个免费、开源、跨平台(Windows、MacOSX和Linux)的Lua集成开发环境(IDE),它提供了代码提示、远程调试、代码分析、语法高亮等功能,支持Lua 5.1、Lua 5.2、Lua 5.3、LuaJIT和其他Lua引擎1。

2024-02-29

Windos系统netcat-1.11.rar

这是针对32位和64位Windows编译的netcat 1.11(但请注意,64位版本未经过多次测试 - 使用风险自负)。 我在这里提供它是因为我似乎永远无法在需要时找到有效的netcat下载。 小更新:netcat 1.12 - 添加-c命令行选项发送CRLF行结尾而不仅仅是CR(例如与Exchange SMTP通信) 警告:一堆反病毒认为netcat(nc.exe)由于某种原因是有害的,并且可能在您尝试下载时阻止或删除该文件。我可以通过不时地重新编译二进制文件来解决这个问题(根本没有做任何其他更改,这可以让你了解这些产品提供的保护级别),但我真的不能打扰。

2019-07-07

en50159轨道交通_通信、信号和处理系统_传输系统中rssp

铁路应用- 铁路应用- 通信、 通信、信令和处理系统部分: 第 1 部分:封闭传输系统中安全相关的通信 欧洲标准 EN 50159-1:2001 具有与英国标准同等地位 .

2019-04-08

HMAC-MD5加密C++源码

HMACMD5 是从 MD5 哈希函数构造的一种键控哈希算法,被用作基于哈希的消息验证代码 (HMAC)。此 HMAC 进程将密钥与消息数据混合,使用哈希函数对混合结果进行哈希计算,将所得哈希值与该密钥混合,然后再次应用哈希函数。输出的哈希值长度为 128 位。

2018-06-27

建造者模式

//一个复杂对象的创建, //其通常由各个部分的子对象用一定的算法构成; //由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化, //但是将它们组合在一起的算法却相对稳定 //将一个复杂对象的构建与其表示相分离,使得同样的构建过程 //(稳定)可以创建不同的表示(变化) //静

2018-06-05

Qt操作Execel基础方法

// step1:连接控件 QAxObject* excel = new QAxObject(); excel->setControl("Excel.Application"); // 连接Excel控件 excel->dynamicCall("SetVisible (bool Visible)", "false"); // 不显示窗体 excel->setProperty("DisplayAlerts", false); // 不显示任何警告信息。如果为true, 那么关闭时会出现类似"文件已修改,是否保存"的提示 // step2: 打开工作簿 QAxObject* workbooks = excel->querySubObject("WorkBooks"); // 获取工作簿集合 // 打开工作簿方式一:新建 // workbooks->dynamicCall("Add"); // 新建一个工作簿 // QAxObject* workbook = excel->querySubObject("ActiveWorkBook"); // 获取当前工作簿 // 打开工作簿方式二:打开现成 QAxObject* workbook = workbooks->querySubObject("Open(const QString&)", ("C:/Users/lixc/Desktop/tt2.xlsx")); // 从控件lineEdit获取文件名

2018-04-30

yasm FFmpeg必备

Yasm是一个完全重写的NASM汇编。目前,它支持x86和AMD64指令集。 软件名称 Yasm 软件平台 Windows Linux 授权协议BSD 开发语言 C/C++ 接受NASM和GNU汇编器(gas)语法,产出二进制, ELF32 , ELF64 , COFF , Mach - O的( 32和64 ) , RDOFF2 ,的Win32和Win64对象的格式,并生成STABS 调试信息的来源,DWARF 2 ,CodeView 8格式

2018-02-26

OSG参考资料

OpenSceneGraph(简称OSG)使用OpenGL技术开发,是一套基于C++平台的应用程序接口(API),它让程序员能够更加快速、便捷地创建高性能、跨平台的交互式图形程序。它作为中间件(middleware)为应用软件提供了各种高级渲染特性,IO,以及空间结构组织函数;而更低层次的OpenGL 硬件抽象层(HAL)实现了底层硬件显示的驱动。

2018-02-25

SQL必知必会

SQL语法简洁,使用方式灵活,功能强大,已经成为当今程序员不可或缺的技能。 本书是深受世界各地读者欢迎的SQL经典畅销书,内容丰富,文字简洁明快,针对Oracle、SQL Server、MySQL、DB2、PostgreSQL、SQLite等各种主流数据库提供了大量简明的实例。与其他同类图书不同,它没有过多阐述数据库基础理论,而是专门针对一线软件开发人员,直接从SQL SELECT开始,讲述实际工作环境中最常用和最必需的SQL知识,实用性极强。通过本书,读者能够从没有多少SQL经验的新手,迅速编写出世界级的SQL! 本书是麻省理工学院、伊利诺伊大学等众多大学的参考教材。除了作为教程之外,独特的编排方式还使本书成为方便的快速查询手册。 作者为本书专门开设了网站,提供下载、勘误和答疑: http://forums.forta.com/threads.cf...

2018-02-25

Qt高级编程---------源码

《Qt高级编程》,作者: (英)Mark Summerfield ,《qt高级编程》以工程实践为主旨,是对qt现有的700多个类和上百万字参考文档中部分关键技术深入、全面的讲解和探讨,如丰富的网络/桌面应用程序、多线程、富文本处理、图形/视图架构、模型/视图架构等;另外,除对每章主题内容的探讨外,还给出了许多与之相关的类、方法和技术细节,从而尽可能多地展示了qt的各种特色。

2018-02-25

破解版spket

2017-03-30

高质量 C++/C 编程指南

良好的编程规范可以改善软件质量,缩短上市时间,提升团队效率,简化维护工作。在中,两位全世界最受尊敬的C++专家将全球C++社区的集体智慧和经验凝结成一整套编程规范。这些规范可以作为每一个开发团队制定实际开发规范的基础,更是每一位C++程序员应该遵循的行事准则。, 涵盖了C++程序设计的每一个方面,包括设计和编码风格、函数、操作符、类的设计、继承、构造与析构、赋值、名字空间、模块、模板、泛型、异常、STL容器和算法等。书中对每一条规范都给出了言简意赅的叙述,并辅以实例说明;另外还给出了从类型定义到错误处理等方面的大量C++ 最佳实践,包括许多最新总结和标准化的技术,即使使用C++多年的程序员也会从中受益匪浅。, 通过阅读,可以找到以下问题的答案。,  哪些东西值得标准化?哪些东西不值得标准化?,  使代码可扩展的最佳方法是什么?,  合理的错误处理策略有哪些要素?,  如何(和为什么要)避免不必要的初始化、循环依赖和定义依赖?,  何时应该(以及如何)同时使用静态和动态的多态性?,  如何实践“安全的”改写?,  何时该提供不会失败的交换?,  为什么要阻止异常跨越模块边界传播?如何阻止?,  为什么不应该在头文件中写名字空间声明或指令?,  为什么应该使用STL vector和string代替数组?,  如何选择正确的STL搜索算法?,  为了保证代码的类型安全,应该遵从哪些规则?

2017-03-30

STL源码剖析 源代码

侯捷先生在一篇影响广泛的STL技术杂文中,将STL的学习境界划分为三个阶段,(1) 会用,(2) 明理,(3) 扩展。阅读STL源码是由第一层次直贯第二层次,而渐达於第三层次的一条捷径,当然也是条荆棘之路。如果你是一个勇於征服险峰的程式师,如果你是一个希望了解under the hood之奥秘的程式师,那麽当你在攀登STL这座瑰丽高山的时候,这本书会大大地帮助你。我非常热情地向您推荐这本着作。当然,再好的书籍只是工具,能不能成功,关键还在你自己。

2017-02-02

语法分析器(含完整源码)

语法分析器(含完整源码)

2017-01-21

C++nb程序员学习之路 中篇:ACE程序员教程.pdf

2016-11-30

嵌入式学习推荐

基础学习Ⅰ---Linux入门        目前嵌入式主要开发环境有 Linux、Wince等;Linux因其开源、开发操作便利而被广泛采用。而Linux操作系统也只是一个简单的操作系统,简单的使用对于嵌入式开发人 员来说价值并不很高,真正有价值的是掌握Linux的基本服务和Linux的设计理念、思想,这对于嵌入式开发人员的长期发展是很极其重要的。Linux 系统有很多发行版,RedHat、Ubuntu、Fedora等。作为嵌入式开发人员,我们没有必要把精力放到使用哪个Linux发行版上,而是尽快把 Linux系统尽快安装好。

2016-03-12

张孝祥正在整理Java就业面试题大全

张孝祥正在整理Java就业面试题大全是是是

2016-03-05

解析极限编程-拥抱变化(第2版)

解析极限编程-拥抱变化(第2版)

2016-03-05

空空如也

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

TA关注的人

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