11 2017 档案

摘要:CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置 1、安装MariaDB 安装命令 安装完成MariaDB,首先启动MariaDB 设置开机启动 接下来进行MariaDB的相关简单配置 首先是设置密码,会提示先输入密码 Enter current passwo 阅读全文
posted @ 2017-11-28 23:17 lsgxeva 阅读(471) 评论(0) 推荐(0) 编辑
摘要:修改gcc/g++默认include路径 转自:http://www.network-theory.co.uk/docs/gccintro/gccintro_23.htmlhttp://ilewen.com/questions/692 GCC: GNU C Complier(GNU C 编译器)不仅 阅读全文
posted @ 2017-11-28 16:09 lsgxeva 阅读(40009) 评论(0) 推荐(3) 编辑
摘要:js中Math.random()生成指定范围数值的随机数 Math.random函数就不像php的rand函数一样可以生成指数范围的数据了,math.random只是生成了一个伪随机数,之后还要经过我们处理才行哦。 今天有又网友问到我 JavaScript 怎么生成指定范围数值随机数。Math.ra 阅读全文
posted @ 2017-11-23 12:25 lsgxeva 阅读(9714) 评论(0) 推荐(0) 编辑
摘要:在 QML 中创建 C++ 导入类型的实例 文件列表: Project1.pro colormaker.h colormaker.cpp main.cpp main.qml MainForm.qml 运行效果: 阅读全文
posted @ 2017-11-22 16:14 lsgxeva 阅读(1360) 评论(0) 推荐(0) 编辑
摘要:QML从文件加载组件简单示例 文件目录列表: Project1.pro main.cpp ColorPicker.qml main.qml MainForm.qml Ctrl + b 开始构建 Ctrl + r 运行 F5 开始调试 编译输出: 运行界面: 调试界面: 修改MainForm.qml文 阅读全文
posted @ 2017-11-21 22:27 lsgxeva 阅读(4919) 评论(0) 推荐(0) 编辑
摘要:Qt的编程风格与规范 来源: http://blog.csdn.net/qq_35488967/article/details/70055490 参考资料: 变量声明 声明每一个变量都要用独立的一行 避免短的或无意义的命名 单个字符的变量名只适用于用来计数的临时变量,因为此时该变量的用途十分明显 当 阅读全文
posted @ 2017-11-21 15:55 lsgxeva 阅读(7460) 评论(0) 推荐(1) 编辑
摘要:Debugging QML Applications Console API Log console.log, console.debug, console.info, console.warn and console.error can be used to print debugging inf 阅读全文
posted @ 2017-11-20 22:03 lsgxeva 阅读(1703) 评论(0) 推荐(0) 编辑
摘要:Win10 安装 Linux 子系统 因为最近要使用Linux搭服务器,但是用远程的话延迟很烦,用双系统切换很麻烦,用虚拟机又会有点卡,刚好Windows10最近更新了正式版的WSL(windows下的Linux子系统),所以就想尝试一下。 更新系统 要把系统升级到1709版本才能使用正式版的WSL 阅读全文
posted @ 2017-11-18 23:20 lsgxeva 阅读(2717) 评论(0) 推荐(1) 编辑
摘要:qt 数据库操作总结 整理一下 QT 操作数据库的一些要点,以备以后的查询学习(主要是操作 mysql )。 首先,要查询相关的驱动是否已经装好了,可以用以下的程序进行验证: #include <QtCore/QCoreApplication> #include <QSqlDatabase> #in 阅读全文
posted @ 2017-11-17 16:06 lsgxeva 阅读(22695) 评论(0) 推荐(1) 编辑
摘要:MySQL5.7初始配置 Windows7 环境安装MySQL5.7配置命令 《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《 MYSQL_HOME D:\mysql\mysql-5.7.20-win32MYSQL_CONNECTOR_HOME D:\mysql\m 阅读全文
posted @ 2017-11-16 00:58 lsgxeva 阅读(2253) 评论(0) 推荐(0) 编辑
摘要:MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要区别 一、5.0 增加了Stored procedures、Views、Cursors、Triggers、XA transactions的支持,增加了INFORATION_SCHEMA系统数据库。 二、5.1 增加了Event sched 阅读全文
posted @ 2017-11-15 21:55 lsgxeva 阅读(578) 评论(0) 推荐(0) 编辑
摘要:在windows下使用vs2013编译和调试mysql源代码 1. 准备工作 1)OS:win10 + VS2013 2)mysql 源码(windows版):mysql-5.6.25.zip 3)perl tool:ActivePerl-5.16.3.1604-MSWin32-x64-298023 阅读全文
posted @ 2017-11-15 21:14 lsgxeva 阅读(646) 评论(0) 推荐(0) 编辑
摘要:Openssl的编译安装以及Vs2012上环境搭建教程 一、Openssl的编译安装 一、准备工作 1、Openssl下载地址:https://www.openssl.org/source/ 2、ActivePerl下载地址:http://www.activestate.com/activeperl 阅读全文
posted @ 2017-11-15 21:02 lsgxeva 阅读(1195) 评论(0) 推荐(0) 编辑
摘要:漫谈C++:良好的编程习惯与编程要点 来源 http://www.cnblogs.com/QG-whz/p/5517643.html 阅读目录 以良好的方式编写C++ class Class with pointer member(s):记得写Big Three static与类 正文 回到顶部 以 阅读全文
posted @ 2017-11-15 00:41 lsgxeva 阅读(376) 评论(0) 推荐(0) 编辑
摘要:组播IP地址 关于组播地址的分类:224.0.0.0~224.0.0.255为预留的组播地址(永久组地址),地址224.0.0.0保留不做分配,其它地址供路由协议使用;224.0.1.0~224.0.1.255是公用组播地址,可以用于Internet;224.0.2.0~238.255.255.25 阅读全文
posted @ 2017-11-14 20:03 lsgxeva 阅读(23335) 评论(0) 推荐(1) 编辑
摘要:组播、IGMP、IGMP监听 来源 https://zhuanlan.zhihu.com/p/593868094 前言:一直对组播这个概念迷迷糊糊,特别是交换机处理组播的方式,非常想搞懂但是懒癌发作。这几天终于耐心地看了下有关组播的资料,大致了解了一下同一广播域内组播的相关知识。组播占了计算机网络的 阅读全文
posted @ 2017-11-13 16:04 lsgxeva 阅读(15204) 评论(1) 推荐(4) 编辑
摘要:飞舞的蝴蝶(GraphicsView框架) 一、简介 GraphicsView框架结构主要包含三个主要的类QGraphicsScene(容器)、QGraphicsView(视图)、QGraphicsItem(图形项)。QGraphicsScene本身不可见必须通过与之相连的QGraphicsView 阅读全文
posted @ 2017-11-12 21:38 lsgxeva 阅读(3029) 评论(0) 推荐(0) 编辑
摘要:Qt Creator中的3D绘图及动画教程(参照NeHe) http://blog.csdn.net/cly116/article/details/47184729 刚刚学习了Qt Creator,发现Qt提供了QtOpenGL模块,对OpenGL做了不错的封装,这使得我们可以很轻松地在Qt程序中使 阅读全文
posted @ 2017-11-12 20:53 lsgxeva 阅读(8392) 评论(0) 推荐(2) 编辑
摘要:Qt5 UI信号、槽自动连接的控件重名 来源 http://blog.csdn.net/goldenhawking/article/details/51865909 对Qt5稍有熟悉的童鞋都知道信号、槽的自动连接机制。该机制使得qt designer 设计的UI中包含的控件,可以不通过显式conne 阅读全文
posted @ 2017-11-12 16:24 lsgxeva 阅读(729) 评论(0) 推荐(0) 编辑
摘要:QT 基本图形绘制 1.告诉绘制引擎一些东西 QPainter::Antialiasing 在可能的情况下,反锯齿 QPainter::TextAntialiasing 在可能的情况下,文字反锯齿 QPainter::SmoothPixmapTransform 采用平滑的Pixmap变换算法 2.绘 阅读全文
posted @ 2017-11-12 14:09 lsgxeva 阅读(46019) 评论(1) 推荐(0) 编辑
摘要:Qt消息机制和事件 1 事件 事件(event)是由系统或者 Qt 本身在不同的时刻发出的。当用户按下鼠标、敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件。一些事件在对用户操作做出响应时发出,如键盘事件等;另一些事件则是由系统自动发出,如计时器事件。 在前面我们也曾经简单提到,Qt 阅读全文
posted @ 2017-11-11 23:04 lsgxeva 阅读(8798) 评论(0) 推荐(1) 编辑
摘要:Qt 多线程同步与通信 1 多线程同步 Qt提供了以下几个类来完成这一点:QMutex、QMutexLocker、QSemphore、QWaitCondition。 当然可能还包含QReadWriteLocker、QReadLocker、QWriteLocker,但线程同步是应用很少,这里只做简单的 阅读全文
posted @ 2017-11-11 20:24 lsgxeva 阅读(6590) 评论(0) 推荐(0) 编辑
摘要:信号槽 与事件区别 仔细来看,事件与信号其实并无多大差别,从我们对其需求上来说,都只要能注册事件或信号响应函数,在事件或信号产生时能够被通知到即可。但有一项区别在于,事件处理函数的返回值是有意义的,我们要根据这个返回值来确定是否还要继续事件的处理,比如在QT中,事件处理函数如果返回true,则这个事 阅读全文
posted @ 2017-11-11 20:21 lsgxeva 阅读(2117) 评论(0) 推荐(0) 编辑
摘要:Qt Meta Object System-元对象系统 元对象系统的构成 QObject和QMetaObject QMetaObject包含了QObject的所谓的元数据,也就是QObject信息的一些描述信息:除了类型信息外,还包含QT中特有的signal&slot信息。 该方法返回一个QObje 阅读全文
posted @ 2017-11-11 16:58 lsgxeva 阅读(3674) 评论(0) 推荐(1) 编辑
摘要:Qt 事件处理机制 因为这篇文章写得特别好,将Qt的事件处理机制能够阐述的清晰有条理,并且便于学习。于是就装载过来了(本文做了排版,并删减了一些冗余的东西,希望原主勿怪),以供学习之用。 简介 在Qt中,事件被封装成一个个对象,所有的事件均继承自抽象类QEvent。Qt是以事件驱动UI工具集。Sig 阅读全文
posted @ 2017-11-11 16:49 lsgxeva 阅读(938) 评论(0) 推荐(0) 编辑
摘要:QT样式表 一、QT样式表简介 1、QT样式表简介 QSS的主要功能是使界面的表现与界面的元素分离,使得设计皮肤与界面控件分离的软件成为可能。 QT样式表是允许用户定制widgets组件外观的强大机制,此外,子类化QStyle也可以定制widgets组件外观。QT样式表的概念、术语、语法很大程度上受 阅读全文
posted @ 2017-11-10 23:45 lsgxeva 阅读(26142) 评论(0) 推荐(3) 编辑
摘要:QVariant实质 QVariant是一种可以存储不同类型的数据结构,在很多场合这是很有用得为了达到这种目的,可以想象,该对象应该存储对象的类型信息,数据信息以及其他辅助详细考虑用途,这种对象必须支持对不同对象的存储,对存储类型的检测以及取对象三个功能1.对象的存储代码见下:QVariant(Ty 阅读全文
posted @ 2017-11-10 23:11 lsgxeva 阅读(2707) 评论(0) 推荐(0) 编辑
摘要:QT uic rcc moc 命令行使用 PS C:\Users\lsgx> moc.exe --helpUsage: C:\Qt\Qt5.5.1\5.5\msvc2012\bin\moc.exe [options] [header-file] [@option-file]Qt Meta Objec 阅读全文
posted @ 2017-11-10 18:36 lsgxeva 阅读(1591) 评论(0) 推荐(0) 编辑
摘要:关于qt中的tr()函数 在论坛中漂,经常遇到有人遇到tr相关的问题。用tr的有两类人: (1)因为发现中文老出问题,然后搜索,发现很多人用tr,于是他也开始用tr (2)另一类人,确实是出于国际化的需要,将需要在界面上显示的文件都用tr包起来,这有分两种: (2a) 用tr包住英文(最最推荐的用法 阅读全文
posted @ 2017-11-10 13:04 lsgxeva 阅读(21593) 评论(4) 推荐(7) 编辑
摘要:QT 选择对话框简单示例 部分代码: 效果: 控制台输出: 文件对话框部分代码: 效果: 阅读全文
posted @ 2017-11-10 00:51 lsgxeva 阅读(6936) 评论(0) 推荐(0) 编辑
摘要:QT创建模态对话框阻塞整个应用程序和非模态对话框唯一性约束的简单示例 部分代码: 效果: 控制台输出信息: 阅读全文
posted @ 2017-11-09 23:38 lsgxeva 阅读(4919) 评论(0) 推荐(0) 编辑
摘要:QT模态对话框及非模态对话框 模态对话框(Modal Dialog)与非模态对话框(Modeless Dialog)的概念不是Qt所独有的,在各种不同的平台下都存在。又有叫法是称为模式对话框,无模式对话框等。所谓模态对话框就是在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话 阅读全文
posted @ 2017-11-09 22:18 lsgxeva 阅读(5796) 评论(0) 推荐(1) 编辑
摘要:Qt浅谈内存泄露(总结) 来源 http://blog.csdn.net/taiyang1987912/article/details/29271549 一、简介 Qt内存管理机制:Qt 在内部能够维护对象的层次结构。对于可视元素,这种层次结构就是子组件与父组件的关系;对于非可视元素,则是一个对象与 阅读全文
posted @ 2017-11-09 20:26 lsgxeva 阅读(2795) 评论(0) 推荐(1) 编辑
摘要:Qt浅谈之总结(整理) 来源 http://blog.csdn.net/taiyang1987912/article/details/32713781 一、简介 QT的一些知识点总结,方便以后查阅。 二、详解 1、获取屏幕的工作区的大小 { //获取屏幕分辨率 qDebug()<< "screen  阅读全文
posted @ 2017-11-09 20:23 lsgxeva 阅读(2947) 评论(0) 推荐(0) 编辑
摘要:QT 主窗口和子窗口相互切换示例 文件列表: SubWidget.h SubWidget.cpp mainwidget.h mainwidget.cpp main.cpp 效果现象: 阅读全文
posted @ 2017-11-09 13:23 lsgxeva 阅读(26537) 评论(2) 推荐(0) 编辑
摘要:Qt基本控件及三大布局 来源: http://blog.csdn.net/a2604539133/article/details/73920696 Qt基本模块 一、Qt的三大布局 二、Qt的控件 三、Qt的信号槽 一、dialog、widget、mainwindow的区别 1)、dialog有ex 阅读全文
posted @ 2017-11-09 00:19 lsgxeva 阅读(62584) 评论(1) 推荐(2) 编辑
摘要:创建Qt项目 1 创建Qt项目 2.1 使用向导创建 打开Qt Creator 界面选择 New Project或者选择菜单栏 【文件】-【新建文件或项目】菜单项 弹出New Project对话框,选择Qt Widgets Application, 选择【Choose】按钮,弹出如下对话框 设置项目 阅读全文
posted @ 2017-11-08 17:17 lsgxeva 阅读(4003) 评论(1) 推荐(0) 编辑
摘要:QString::QString 中文乱码 处理方法: 1. QString str = QString::fromLocal8Bit("中文"); // vs2008 vs2005 2. QString str = QString::fromLocal8Bit("中文"); // gcc vs20 阅读全文
posted @ 2017-11-08 16:14 lsgxeva 阅读(33123) 评论(1) 推荐(2) 编辑
摘要:Qt Creator快捷键 简介 Qt Creator中提供了各种快捷键来加快开发进程。 如果需要查看或自定义快捷键,选择工具->选项->环境->键盘。快捷键按类别列出,可以在过滤器(Filter)处输入命令名称、标签名称或快捷键名称,来快速定位想要查找的快捷键。 以红颜色显示的快捷键与某些功能相关 阅读全文
posted @ 2017-11-08 16:12 lsgxeva 阅读(12728) 评论(0) 推荐(2) 编辑
摘要:CMAKE的使用 一、 基本使用 安装:下载二进制包后可直接解压使用 从源码安装则执行命令:./bootstrap; make; make install——尝试执行bootstrap失败 使用:cmake dir_path,生成工程文件或makefile文件 二、 概念 out-of-source 阅读全文
posted @ 2017-11-08 16:10 lsgxeva 阅读(1549) 评论(0) 推荐(0) 编辑
摘要:cmake 常用变量和常用环境变量查表手册 一,cmake 变量引用的方式: 前面我们已经提到了,使用${}进行变量的引用。在 IF 等语句中,是直接使用变量名而不通过${}取值 二,cmake 自定义变量的方式: 主要有隐式定义和显式定义两种,前面举了一个隐式定义的例子,就是 PROJECT 指令 阅读全文
posted @ 2017-11-08 16:09 lsgxeva 阅读(2802) 评论(0) 推荐(0) 编辑
摘要:数据结构与算法笔记 - 绪论 1. 什么是计算2. 评判DSA优劣的参照(直尺)3. 度量DSA性能的尺度(刻度)4. DSA的性能度量的方法5. DSA性能的设计及其优化 x1. 理论模型与实际性能的差异x2. DSA优化的极限(下界) 计算机与算法 计算机科学(computer science) 阅读全文
posted @ 2017-11-07 19:22 lsgxeva 阅读(971) 评论(0) 推荐(0) 编辑
摘要:算法的时间复杂度和空间复杂度-总结 来源 http://blog.csdn.net/zolalad/article/details/11848739 通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等 阅读全文
posted @ 2017-11-07 19:10 lsgxeva 阅读(682) 评论(0) 推荐(0) 编辑
摘要:算法设计之五大常用算法设计方法总结 来源 http://blog.csdn.net/zolalad/article/details/11393915 阅读全文
posted @ 2017-11-07 19:06 lsgxeva 阅读(27420) 评论(0) 推荐(2) 编辑
摘要:超计算(Hyper computation)模型 作者:Xyan Xcllet链接:https://www.zhihu.com/question/21579465/answer/106995708来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 超计算,是一个研究比图灵 阅读全文
posted @ 2017-11-07 18:29 lsgxeva 阅读(7284) 评论(0) 推荐(2) 编辑
摘要:C++ 算法 算法概念 算法是特定问题求解步骤的描述 在计算机中表现为指令的有限序列 算法是独立存在的一种解决问题的方法和思想。 对于算法而言,语言并不重要,重要的是思想。 算法和数据结构区别 数据结构只是静态的描述了数据元素之间的关系 高效的程序需要在数据结构的基础上设计和选择算法 程序=数据结构 阅读全文
posted @ 2017-11-06 17:37 lsgxeva 阅读(2697) 评论(0) 推荐(0) 编辑
摘要:C++ 数据结构概念 数据结构起源 计算机从解决数值计算问题到解决生活中的问题 现实生活中的问题涉及不同个体间的复杂联系 需要在计算机程序中描述生活中个体间的联系 数据结构主要研究非数值计算程序问题中的操作对象以及它们之间的关系 不是研究复杂的算法 数据结构中的基本概念 数据 – 程序的操作对象,用 阅读全文
posted @ 2017-11-06 16:14 lsgxeva 阅读(3579) 评论(0) 推荐(0) 编辑
摘要:C++ STL 常用算术和生成算法 accumulate() accumulate: 对指定范围内的元素求和,然后结果再加上一个由val指定的初始值。 #include<numeric> vector<int> vecIntA; vecIntA.push_back(1); vecIntA.push_ 阅读全文
posted @ 2017-11-06 15:41 lsgxeva 阅读(402) 评论(0) 推荐(0) 编辑
摘要:C++ STL 常用拷贝和替换算法 copy() 复制 vector<int> vecIntA; vecIntA.push_back(1); vecIntA.push_back(3); vecIntA.push_back(5); vecIntA.push_back(7); vecIntA.push_ 阅读全文
posted @ 2017-11-06 15:35 lsgxeva 阅读(2546) 评论(0) 推荐(0) 编辑
摘要:C++ STL 常用排序算法 merge() 以下是排序和通用算法:提供元素排序策略 merge: 合并两个有序序列,存放到另一个序列。 例如: vecIntA,vecIntB,vecIntC是用vector<int>声明的容器, vecIntA已包含1,3,5,7,9元素, vecIntB已包含2 阅读全文
posted @ 2017-11-06 15:29 lsgxeva 阅读(649) 评论(0) 推荐(0) 编辑
摘要:C++ STL 常用查找算法 adjacent_find() 在iterator对标识元素范围内,查找一对相邻重复元素,找到则返回指向这对元素的第一个元素的迭代器。否则返回past-the-end。 vector<int> vecInt; vecInt.push_back(1); vecInt.pu 阅读全文
posted @ 2017-11-06 15:24 lsgxeva 阅读(901) 评论(0) 推荐(0) 编辑
摘要:STL 算法中函数对象和谓词 函数对象和谓词定义 函数对象: 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象。一个类对象,表现出一个函数的特征,就是通过“对象名+(参数列表)”的方式使用一个类对象,如果没有上下文,完全可以把它看作一个函数对 阅读全文
posted @ 2017-11-06 13:20 lsgxeva 阅读(725) 评论(0) 推荐(0) 编辑
摘要:C++ STL 常用遍历算法 STL的容器算法迭代器的设计理念 1) STL的容器通过类模板技术,实现数据类型和容器模型的分离 2) STL的迭代器技术实现了遍历容器的统一方法;也为STL的算法提供了统一性奠定了基 础 3) STL的算法,通过函数对象实现了自定义数据类型的算法运算;所以说:STL的 阅读全文
posted @ 2017-11-06 13:19 lsgxeva 阅读(4559) 评论(0) 推荐(0) 编辑
摘要:STL 算法介绍 算法概述 算法部分主要由头文件<algorithm>,<numeric>和<functional>组成。 <algorithm>是所有STL头文件中最大的一个,其中常用到的功能范围涉及到比较、 交换、查找、遍历操作、复制、修改、反转、排序、合并等等。 <numeric>体积很小,只 阅读全文
posted @ 2017-11-06 02:19 lsgxeva 阅读(3604) 评论(0) 推荐(0) 编辑
摘要:STL Map和multimap 容器 map/multimap的简介 map是标准的关联式容器,一个map是一个键值对序列,即(key,value)对。它提供 基于key的快速检索能力。 map中key值是唯一的。集合中的元素按一定的顺序排列。元素插入过程是按排序 规则插入,所以不能指定插入位置。 阅读全文
posted @ 2017-11-06 01:55 lsgxeva 阅读(1048) 评论(0) 推荐(0) 编辑
摘要:STL Set和multiset 容器 set/multiset的简介 set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列。 元素插入过程是按排序规则插入,所以不能指定插入位置。 set采用红黑树变体的数据结构实现,红黑树属于平衡二叉树。在插入操作和删除操 作上比vecto 阅读全文
posted @ 2017-11-06 01:24 lsgxeva 阅读(392) 评论(0) 推荐(0) 编辑
摘要:STL Queue 容器 Queue简介 queue是队列容器,是一种“先进先出”的容器。 queue是简单地装饰deque容器而成为另外的一种容器。 #include <queue> queue对象的默认构造 queue采用模板类实现, queue对象的默认构造形式: queue<T> queT 阅读全文
posted @ 2017-11-06 00:55 lsgxeva 阅读(317) 评论(0) 推荐(0) 编辑
摘要:STL stack 容器 Stack简介 stack是堆栈容器,是一种“先进后出”的容器。 stack是简单地装饰deque容器而成为另外的一种容器。 #include <stack> stack对象的默认构造 stack采用模板类实现, stack对象的默认构造形式: stack <T> stkT 阅读全文
posted @ 2017-11-06 00:48 lsgxeva 阅读(219) 评论(0) 推荐(0) 编辑
摘要:STL Deque 容器 Deque简介 deque是“double-ended queue”的缩写,和vector一样都是STL的容器,deque是双 端的,而vector是单端的。 deque在接口上和vector非常相似,在许多操作的地方可以直接替换。 deque可以随机存取元素(支持索引值直 阅读全文
posted @ 2017-11-06 00:38 lsgxeva 阅读(487) 评论(0) 推荐(0) 编辑
摘要:c++11 List 容器 List简介 list是一个双向链表容器 可高效地进行插入删除元素。 list不可以随机存取元素,所以不支持at(pos)函数与[]操作符。 #include <list> list对象的默认构造 list采用采用模板类实现 对象的默认构造形式: list<T> lstT 阅读全文
posted @ 2017-11-06 00:17 lsgxeva 阅读(1606) 评论(0) 推荐(0) 编辑
摘要:STL Vector容器 Vector容器简介 vector是将元素置于一个动态数组中加以管理的容器。 vector可以随机存取元素(支持索引值直接存取, 用[]操作符或at()方法,这个等下会详讲)。 vector尾部添加或移除元素非常快速。但是在中部或头部插入元素或移除元素比较费时 头文件:#i 阅读全文
posted @ 2017-11-05 23:50 lsgxeva 阅读(956) 评论(0) 推荐(0) 编辑
摘要:STL 容器的概念 在实际的开发过程中,数据结构本身的重要性不会逊于操作于数据结构的算法的重要性,当程序中存在着对时间要求很高的部分时,数据结构的选择就显得更加重要。 经典的数据结构数量有限,但是我们常常重复着一些为了实现向量、链表等结构而编写的代码,这些代码都十分相似,只是为了适应不同数据的变化而 阅读全文
posted @ 2017-11-05 22:41 lsgxeva 阅读(975) 评论(0) 推荐(0) 编辑
摘要:STL 基本概念 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。现在是一个C++软件库,也是C++标准程序库的一部分,但在被引入C++之前该技术就已经存在了很长的一段时间。 STL的代码从广义上讲分为三类:algorithm(算法)、co 阅读全文
posted @ 2017-11-05 22:17 lsgxeva 阅读(369) 评论(0) 推荐(0) 编辑
摘要:c++11 线程的互斥量 为什么需要互斥量 在多任务操作系统中,同时运行的多个任务可能都需要使用同一种资源。这个过程有点类似于,公司部门里,我在使用着打印机打印东西的同时(还没有打印完),别人刚好也在此刻使用打印机打印东西,如果不做任何处理的话,打印出来的东西肯定是错乱的。 独占互斥量std::mu 阅读全文
posted @ 2017-11-05 22:11 lsgxeva 阅读(1392) 评论(0) 推荐(0) 编辑
摘要:c++11 语言级线程 线程的创建 用std::thread创建线程非常简单,只需要提供线程函数或函数对象即可,并且可以同时指定线程函数的参数。 回收线程资源 std::thread::join等待线程结束(此函数会阻塞),并回收线程资源,如果线程函数有返回值,返回值将被忽略。 如果不希望线程被阻塞 阅读全文
posted @ 2017-11-05 21:50 lsgxeva 阅读(541) 评论(0) 推荐(0) 编辑
摘要:c++11 lambda表达式 lambda 表达式(lambda expression)是一个匿名函数,lambda表达式基于数学中的 λ 演算得名。 C++11中的lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。 lambda表达式的基本构成: ①函数对象参数 [],标识一个la 阅读全文
posted @ 2017-11-05 20:23 lsgxeva 阅读(1136) 评论(0) 推荐(0) 编辑
摘要:c++11 闭包的实现 什么是闭包 闭包有很多种定义,一种说法是,闭包是带有上下文的函数。说白了,就是有状态的函数。更直接一些,不就是个类吗?换了个名字而已。 一个函数,带上了一个状态,就变成了闭包了。那什么叫 “带上状态” 呢? 意思是这个闭包有属于自己的变量,这些个变量的值是创建闭包的时候设置的 阅读全文
posted @ 2017-11-05 19:11 lsgxeva 阅读(12638) 评论(1) 推荐(0) 编辑
摘要:c++11 智能指针 unique_ptr、shared_ptr与weak_ptr C++11中有unique_ptr、shared_ptr与weak_ptr等智能指针(smart pointer),定义在<memory>中。 可以对动态资源进行管理,保证任何情况下,已构造的对象最终会销毁,即它的析 阅读全文
posted @ 2017-11-05 17:57 lsgxeva 阅读(23660) 评论(0) 推荐(6) 编辑
摘要:c++11 标准库函数 std::move 和 完美转发 std::forward 阅读全文
posted @ 2017-11-05 16:02 lsgxeva 阅读(2622) 评论(0) 推荐(1) 编辑
摘要:c++11 移动语义 阅读全文
posted @ 2017-11-05 15:46 lsgxeva 阅读(631) 评论(0) 推荐(0) 编辑
摘要:c++11 左值引用、右值引用 阅读全文
posted @ 2017-11-05 15:30 lsgxeva 阅读(822) 评论(0) 推荐(0) 编辑
摘要:c++11 可变参数模板类 阅读全文
posted @ 2017-11-05 15:21 lsgxeva 阅读(3266) 评论(1) 推荐(0) 编辑
摘要:c++11 可变参数模板函数 阅读全文
posted @ 2017-11-05 15:18 lsgxeva 阅读(3380) 评论(0) 推荐(1) 编辑
摘要:c++11 函数模板的默认模板参数 阅读全文
posted @ 2017-11-05 15:10 lsgxeva 阅读(4513) 评论(1) 推荐(0) 编辑
摘要:c++11 模板的别名 阅读全文
posted @ 2017-11-05 15:07 lsgxeva 阅读(951) 评论(0) 推荐(0) 编辑
摘要:c++11 右尖括号>改进 阅读全文
posted @ 2017-11-05 15:02 lsgxeva 阅读(1304) 评论(0) 推荐(0) 编辑
摘要:c++11 类默认函数的控制:"=default" 和 "=delete"函数 阅读全文
posted @ 2017-11-05 14:58 lsgxeva 阅读(43292) 评论(7) 推荐(9) 编辑
摘要:c++11 继承控制:final和override 阅读全文
posted @ 2017-11-05 14:46 lsgxeva 阅读(3843) 评论(0) 推荐(0) 编辑
摘要:c++11 委托构造 阅读全文
posted @ 2017-11-05 14:43 lsgxeva 阅读(1513) 评论(0) 推荐(0) 编辑
摘要:c++11 继承构造 阅读全文
posted @ 2017-11-05 14:40 lsgxeva 阅读(813) 评论(0) 推荐(0) 编辑
摘要:c++11 原生字符串字面值 阅读全文
posted @ 2017-11-05 14:36 lsgxeva 阅读(1839) 评论(0) 推荐(1) 编辑
摘要:c++11 用户定义字面量 阅读全文
posted @ 2017-11-05 14:31 lsgxeva 阅读(1642) 评论(0) 推荐(0) 编辑
摘要:c++11 常量表达式 阅读全文
posted @ 2017-11-05 14:25 lsgxeva 阅读(2010) 评论(0) 推荐(0) 编辑
摘要:c++11 强类型枚举 阅读全文
posted @ 2017-11-05 14:14 lsgxeva 阅读(4864) 评论(0) 推荐(0) 编辑
摘要:c++11 nullptr 阅读全文
posted @ 2017-11-05 14:03 lsgxeva 阅读(336) 评论(0) 推荐(0) 编辑
摘要:c++11 noexcept修饰符 阅读全文
posted @ 2017-11-05 13:57 lsgxeva 阅读(558) 评论(0) 推荐(0) 编辑
摘要:c++11 静态断言 阅读全文
posted @ 2017-11-05 13:53 lsgxeva 阅读(648) 评论(0) 推荐(0) 编辑
摘要:c++11 基于范围的for循环 阅读全文
posted @ 2017-11-05 13:43 lsgxeva 阅读(463) 评论(0) 推荐(0) 编辑
摘要:C++11 初始化 统一初始化语法 C++11新添加初始化列表 std::initializer_list<>类型,可以通过{}语法来构造初始化列表 。初始化列表是常数;一旦被创建,其成员均不能被改变,成员中的数据也不能够被变动。函数能够使用初始化列表作为参数。 在引入C++ 11之前,有各种不同的 阅读全文
posted @ 2017-11-05 13:35 lsgxeva 阅读(5698) 评论(0) 推荐(1) 编辑
摘要:c++11 追踪返回类型 返回类型后置:使用"->"符号,在函数名和参数列表后面指定返回类型。 阅读全文
posted @ 2017-11-05 12:48 lsgxeva 阅读(810) 评论(0) 推荐(0) 编辑
摘要:c++11 decltype decltype实际上有点像auto的反函数,auto可以让你声明一个变量,而decltype则可以从一个变量或表达式中得到类型。decltype在C++11标准制定时引入,主要是为泛型编程而设计,以解决泛型编程中,由于有些类型由模板参数决定,而难以(甚至不可能)表示之 阅读全文
posted @ 2017-11-05 12:42 lsgxeva 阅读(402) 评论(0) 推荐(0) 编辑
摘要:C++11 自动推导auto C++11中引入的auto主要有两种用途:自动类型推导和返回值占位。 auto在C++98中的标识临时变量的语义,由于使用极少且多余,在C++11中已被删除。前后两个标准的auto,完全是两个概念。 自动类型推导 auto的自动类型推导,用于从初始化表达式中推断出变量的 阅读全文
posted @ 2017-11-05 12:27 lsgxeva 阅读(1644) 评论(0) 推荐(0) 编辑
摘要:C++中 0 与 NULL 与 nullptr之间的关系,nullptr_t 的实现 来源 http://blog.csdn.net/Virtual_Func/article/details/49756913 参考了网上各种资料,理清楚了 0 与 NULL 以及 nullptr 的关系。 1. 从本 阅读全文
posted @ 2017-11-05 00:46 lsgxeva 阅读(2511) 评论(0) 推荐(0) 编辑
摘要:深入分析C++引用 来源 http://blog.csdn.net/webscaler/article/details/6577429 关于引用和指针的区别的文章很多很多,但是总是找不到他们的根本区别,偶然在codeproject上看到这篇文章,觉得讲的挺好的, 所以翻译了下,希望对大家有帮助。 原 阅读全文
posted @ 2017-11-05 00:43 lsgxeva 阅读(321) 评论(0) 推荐(0) 编辑
摘要:Lua 调试库 http://blog.csdn.net/vermilliontear/article/details/50851045 http://blog.csdn.net/vermilliontear/article/details/50865156 Q:什么是活动函数? A:程序中被调用但 阅读全文
posted @ 2017-11-05 00:36 lsgxeva 阅读(3045) 评论(0) 推荐(1) 编辑
摘要:trait与policy模板应用简单示例 accumtraits.hpp // 累加算法模板的trait policies.hpp // 累加算法模板的policy accum.hpp // 累加算法模板:实现为类模板,用模板参数来传递policy和trait mytest.cpp // 使用累加算 阅读全文
posted @ 2017-11-04 23:23 lsgxeva 阅读(617) 评论(0) 推荐(0) 编辑
摘要:理解typename的两个含义 问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同? template<class T> class Widget; // uses "class" template<typename T> clas 阅读全文
posted @ 2017-11-04 23:07 lsgxeva 阅读(608) 评论(0) 推荐(0) 编辑
摘要:行为型模型 空对象模式 空对象模式 在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象实例的检查。Null 对象不是检查空值,而是反应一个不做任何动作的关系。这样的 Null 对象也可以在数据不可用的时候提供默认的行为。 在空对象模式中,我们创建一个指定各种要执 阅读全文
posted @ 2017-11-04 17:26 lsgxeva 阅读(236) 评论(0) 推荐(0) 编辑
摘要:行为型模型 迭代器模式 GOOD:提供一种方法顺序访问一个聚敛对象的各个元素,而又不暴露该对象的内部表示。 为遍历不同的聚集结构提供如开始,下一个,是否结束,当前一项等统一接口。 Iterator(迭代器接口): 该接口必须定义实现迭代功能的最小定义方法集 比如提供hasNext()和next()方 阅读全文
posted @ 2017-11-04 17:07 lsgxeva 阅读(348) 评论(0) 推荐(0) 编辑
摘要:行为型模型 解释模型 阅读全文
posted @ 2017-11-04 16:41 lsgxeva 阅读(446) 评论(0) 推荐(0) 编辑
摘要:行为型模型 状态模式 Context:用户对象 拥有一个State类型的成员,以标识对象的当前状态; State:接口或基类 封装与Context的特定状态相关的行为; ConcreteState:接口实现类或子类 实现了一个与Context某个状态相关的行为。 适用于: 对象的行为,依赖于它所处的 阅读全文
posted @ 2017-11-04 16:24 lsgxeva 阅读(370) 评论(0) 推荐(0) 编辑
摘要:行为型模型 访问者模式 抽象访问者(Visitor)角色: 声明了一个或者多个访问操作,形成所有的具体元素角色必须实现的接口。 具体访问者(ConcreteVisitor)角色: 实现抽象访问者角色所声明的接口,也就是抽象访问者所声明的各个访问操作。 抽象节点(Element)角色: 声明一个接受操 阅读全文
posted @ 2017-11-04 14:35 lsgxeva 阅读(427) 评论(0) 推荐(0) 编辑
摘要:行为型模型 备忘录模式 应用场景 如果一个对象需要保存状态并可通过undo或rollback等操作恢复到以前的状态时,可以使用Memento模式。 1)一个类需要保存它的对象的状态(相当于Originator角色) 2)设计一个类,该类只是用来保存上述对象的状态(相当于Memento角色) 3)需要 阅读全文
posted @ 2017-11-04 13:53 lsgxeva 阅读(362) 评论(0) 推荐(0) 编辑
摘要:行为型模型 观察者模式 Subject(被观察者) 被观察的对象。当需要被观察的状态发生变化时,需要通知队列中所有观察者对象。Subject需要维持(添加,删除,通知)一个观察者对象的队列列表。 ConcreteSubject 被观察者的具体实现。包含一些基本的属性状态及其他操作。 Observer 阅读全文
posted @ 2017-11-04 13:24 lsgxeva 阅读(304) 评论(0) 推荐(0) 编辑
摘要:行为型模型 中介者模式 Mediator抽象中介者 中介者类的抽象父类。 concreteMediator 具体的中介者类。 Colleague 关联类的抽象父类。 concreteColleague 具体的关联类。 适用于: 用一个中介对象,封装一些列对象(同事)的交换,中介者是各个对象不需要显示 阅读全文
posted @ 2017-11-04 13:03 lsgxeva 阅读(444) 评论(0) 推荐(0) 编辑
摘要:行为型模型 策略模式 Strategy: 策略(算法)抽象。 ConcreteStrategy 各种策略(算法)的具体实现。 Context 策略的外部封装类,或者说策略的容器类。根据不同策略执行不同的行为。策略由外部环境决定。 好处: //算法的实现 和 客户端的使用 解耦合 //使得算法变化,不 阅读全文
posted @ 2017-11-04 11:54 lsgxeva 阅读(432) 评论(0) 推荐(0) 编辑
摘要:行为型模型 责任链模式 Handler 处理类的抽象父类。 concreteHandler 具体的处理类。 责任链优缺点 优点: 1。责任的分担。每个类只需要处理自己该处理的工作(不该处理的传递给下一个对象完成),明确各类的责任范围,符合类的最小封装原则。 2。可以根据需要自由组合工作流程。如工作流 阅读全文
posted @ 2017-11-04 11:40 lsgxeva 阅读(433) 评论(0) 推荐(0) 编辑
摘要:行为型模型 命令模式 Command Command命令的抽象类。 ConcreteCommand Command的具体实现类。 Receiver 需要被调用的目标对象。 Invorker 通过Invorker执行Command对象。 适用于: 是将一个请求封装为一个对象,从而使你可用不同的请求对客 阅读全文
posted @ 2017-11-04 11:25 lsgxeva 阅读(569) 评论(0) 推荐(0) 编辑
摘要:行为型模型 模版模式 应用场景 Template Method模式一般应用在具有以下条件 的应用中: - 具有统一的操作步骤或操作过程 - 具有不同的操作细节 - 存在多个具有同样操作步骤的应用场景,但某些具体的操作细节却各不相同总结: 在抽象类中统一操作步骤,并规定好接口;让子类实现接口。这样可以 阅读全文
posted @ 2017-11-04 10:51 lsgxeva 阅读(708) 评论(0) 推荐(0) 编辑
摘要:结构型模式 过滤器模式 过滤器模式 过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。 实现 阅读全文
posted @ 2017-11-03 19:38 lsgxeva 阅读(398) 评论(0) 推荐(0) 编辑
摘要:结构型模式 享元模式 抽象享元角色: 所有具体享元类的父类,规定一些需要实现的公共接口。 具体享元角色: 抽象享元角色的具体实现类,并实现了抽象享元角色规定的方法。享元工厂角色: 负责创建和管理享元角色。 使用场景: 是以共享的方式,高效的支持大量的细粒度的对象。 阅读全文
posted @ 2017-11-03 17:41 lsgxeva 阅读(198) 评论(0) 推荐(0) 编辑
摘要:结构型模式 外观模式 Facade 为调用方定义简单的调用接口。 Clients 调用者。通过Facade接口调用提供某功能的内部类群。 Packages 功能提供者。指提供功能的类群(模块或子系统) 适用于: 为子系统中统一一套接口,让子系统更加容易使用。 阅读全文
posted @ 2017-11-03 16:52 lsgxeva 阅读(298) 评论(0) 推荐(0) 编辑
摘要:结构型模式 桥接模式 Client Bridge模式的使用者 Abstraction 抽象类接口(接口或抽象类)维护对行为实现(Implementor)的引用 Refined Abstraction Abstraction子类 Implementor 行为实现类接口 (Abstraction接口定义 阅读全文
posted @ 2017-11-03 16:37 lsgxeva 阅读(199) 评论(0) 推荐(0) 编辑
摘要:变量名和变量地址 研一时,很偶然的翻开谭浩强老先生的《C程序设计》(是师姐的书,俺的老早就卖了,估计当时觉得这本书写得不够好),很偶然的看到关于变量名的一段话:“变量名实际上是一个符号地址,在对程序编译连接时由系统给每一个变量名分配一个内存地址。在程序中从变量中取值,实际上是通过变量名找到相应的内存 阅读全文
posted @ 2017-11-03 15:45 lsgxeva 阅读(2886) 评论(0) 推荐(0) 编辑
摘要:结构型模式 组合模式 Component (树形结构的节点抽象) - 为所有的对象定义统一的接口(公共属性,行为等的定义) - 提供管理子节点对象的接口方法 - [可选]提供管理父节点对象的接口方法 Leaf (树形结构的叶节点) Component的实现子类 Composite(树形结构的枝节点) 阅读全文
posted @ 2017-11-03 15:20 lsgxeva 阅读(205) 评论(0) 推荐(0) 编辑
摘要:结构型模式 适配器模式 适用于: 是将一个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 阅读全文
posted @ 2017-11-03 13:52 lsgxeva 阅读(160) 评论(0) 推荐(0) 编辑
摘要:结构型模式 装饰模式 适用于: 装饰者模式(Decorator Pattern)动态的给一个对象添加一些额外的职责。就增加功能来说,此模式比生成子类更为灵活。 阅读全文
posted @ 2017-11-03 13:16 lsgxeva 阅读(164) 评论(0) 推荐(0) 编辑
摘要:结构型模式 代理模式 subject(抽象主题角色): 真实主题与代理主题的共同接口。 RealSubject(真实主题角色): 定义了代理角色所代表的真实对象。 Proxy(代理主题角色): 含有对真实主题角色的引用,代理角色通常在将客户端调用传递给真是主题对象之前或者之后执行某些操作,而不是单纯 阅读全文
posted @ 2017-11-03 00:54 lsgxeva 阅读(192) 评论(0) 推荐(0) 编辑
摘要:创建型模式 原型模式 原型模式主要面对的问题是:“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是他们却拥有比较稳定一致的接口。 适用情况: 一个复杂对象,具有自我复制功能,统一一套接口。 阅读全文
posted @ 2017-11-03 00:25 lsgxeva 阅读(270) 评论(0) 推荐(0) 编辑
摘要:创建型模式 建造者模式 1) Builder:为创建产品各个部分,统一抽象接口。 2) ConcreteBuilder:具体的创建产品的各个部分,部分A, 部分B,部分C。 3) Director:构造一个使用Builder接口的对象。 4) Product:表示被构造的复杂对象。 Concrete 阅读全文
posted @ 2017-11-02 23:17 lsgxeva 阅读(236) 评论(0) 推荐(0) 编辑
摘要:创建型模式 抽象工厂 阅读全文
posted @ 2017-11-02 21:33 lsgxeva 阅读(247) 评论(0) 推荐(0) 编辑
摘要:设计模式的六大原则 开闭原则:模块应尽量在不修改原代码(闭)的情况下进行扩展(开)。即在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。 里氏代换原则:如果调用的是父类的话,那么换成子类也完全可以运行。 派生类能够在基类的基础上增加新的行为。只有当派生类可以替换掉基类,且软件单位 阅读全文
posted @ 2017-11-02 20:14 lsgxeva 阅读(376) 评论(0) 推荐(0) 编辑
摘要:创建型模式 工厂模式 阅读全文
posted @ 2017-11-02 20:06 lsgxeva 阅读(224) 评论(0) 推荐(0) 编辑
摘要:创建型模式 简单工厂模式 阅读全文
posted @ 2017-11-02 19:46 lsgxeva 阅读(261) 评论(0) 推荐(0) 编辑
摘要:创建型模式 单例模式 /** * 创建型模式 单例模式 懒汉式 * GoF对单例模式的定义是:保证一个类、只有一个实例存在,同时提供能对该实例加以访问的全局访问方法。 * * 实现单例步骤常用步骤 * a) 构造函数私有化 * b) 提供一个全局的静态方法(全局访问点) * c) 在类中定义一个静态 阅读全文
posted @ 2017-11-02 18:44 lsgxeva 阅读(339) 评论(0) 推荐(0) 编辑
摘要:依赖、关联、聚合和组合之间的区别 在学习面向对象设计对象关系时,依赖、关联、聚合和组合这四种关系之间区别比较容易混淆。特别是后三种,仅仅是在语义上有所区别,所谓语义就是指上下文环境、特定情景等。他们在编程语言中的体现却是基本相同的,但是基本相同并不等于完全相同,这一点在我的前一篇博文《设计模式中类的 阅读全文
posted @ 2017-11-02 17:08 lsgxeva 阅读(4474) 评论(1) 推荐(3) 编辑
摘要:C++ 设计模式 依赖倒置原则 简单示例 阅读全文
posted @ 2017-11-02 16:45 lsgxeva 阅读(2246) 评论(0) 推荐(1) 编辑
摘要:Lua面向对象编程 来源: http://blog.csdn.net/vermilliontear/article/details/50650883 Q:如何定义对象的方法以及调用对象的方法? A:面向对象的特殊性在于它以this指针的方式传递了对象本身,并且这种操作是隐藏起来的。 在Lua中使用: 阅读全文
posted @ 2017-11-02 14:46 lsgxeva 阅读(546) 评论(0) 推荐(0) 编辑
摘要:Windows环境下Android Studio安装和使用教程 来源: http://www.cnblogs.com/liuhongfeng/archive/2015/12/30/5084896.html 鉴于谷歌最新推出的Android Studio备受开发者的推崇,所以也跟着体验一下。 一、介绍 阅读全文
posted @ 2017-11-02 02:19 lsgxeva 阅读(803) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示