【Algo】排序算法

1、冒泡简介—— 冒泡排序,可以想象成从水中冒出的气泡,从水中到水面气泡逐渐变大,近似有序排列。冒泡排序就是这个思想,对于给定的一组N个数据,从前往后或者从后往前,依次比较两个相邻数据的大小,不满足排序要求(从小到大或者从大到小)的就交换它们的位置,每轮比较可以冒出一个最大数或者最小数。因为是两个数据作比较,所以每轮最多只需比较N-1次,而且对于已经冒出的数据即排序好的数据没有必要再进行比较,所以...
阅读(191) 评论(0)

【OpenGL ES】顶点着色器

1、输入输出顶点着色器可用于传统的基于顶点操作,例如通过矩阵变换位置、计算照明方程式以生成逐顶点的颜色以及生成或者变换纹理坐标。顶点着色器的输入、输出如下图所示。输入变量或属性:用顶点数组提供的逐顶点数据。 统一变量和统一变量缓冲区:顶点着色器使用的不变数据。 采样器:代表顶点着色器使用的纹理的特殊统一变量类型。 着色器程序:顶点着色器程序源代码或者描述在操作顶点的可执行文件。 输出或可变变...
阅读(161) 评论(0)

【CS】软件测试概念Software Testing

1、定义软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。行业标准IEEE/ANSI提出的软件工程术语中给软件测试下的定义是:使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。2、方法从是否关心软件内部结构和具体实现的角度划分: ——白盒测试。 ——黑盒...
阅读(499) 评论(0)

【C++】cppcheck

1、简介cppcheck是一款用于C/C++的代码静态检查工具,与编译器和其它的分析工具不同,cppcheck不检查代码中的语法错误,主要目的是检查编译器在正常情况下发现不了的错误,即代码中真正的错误或者说运行时错误,也就是计算机术语中的zero false positives,如越界操作、内存泄漏、空指针引用、变量未初始化等等。2、示例test.c示例代码如下:int main() { c...
阅读(356) 评论(0)

【C++】cpplint

1、简介cpplint或cpplint.py是Google开发的一款代码静态检查工具,Python实现,用以检查C++代码是否遵循Google代码规范,还可以发现语法错误。2、示例test.cpp示例代码如下:int foo(int a) { if (a < 0) { a = 0; } return a; }int bar(int a) { if (a...
阅读(357) 评论(0)

【Bash百宝箱】doxygen

1、简介doxygen是一个用于多种编程语言的文档系统,支持C++、C、Java、Objective-C、Corba和Microsoft风格的IDL、PHP、C#、D等。在Linux下,doxygen是一个命令行工具,另外还有一个GUI工具doxywizard,下面简单介绍doxygen的用法。2、配置文件在Linux shell执行如下命令,其中-g表示生成配置文件,-s表示配置文件中不保留注释代...
阅读(334) 评论(0)

【C】C语言内存函数

C语言内存函数向编程人员提供复制、比较与设置内存块的有效方式,这些函数属于字符串函数,放在库文头文件string.h中声明,C89增补1增加了5个操纵宽字符数组的新函数。string.h中的这些函数名称以mem开头,内存块在标准C语言中用void*类型指针指定,常用函数原型如下:void* memchr(const void *ptr, int val, size_t len); int memcm...
阅读(435) 评论(0)

【C】C语言字符处理函数

字符处理有两类函数:分类和转换,每个字符分类函数的名称以is开头,返回int类型的值,在参数为指定类时为非0值即真,否则为0即假,每个字符转换函数的名称以to开头,返回int类型的值,表示一个字符或EOF。字符处理函数在库头文件ctype.h中声明,另外,C89增补1定义了对宽字符进行运算的分类与转换函数,与普通字符对应,在头文件wctype.h中声明。字符分类处理函数具体如下:// ctype.h...
阅读(437) 评论(0)

【C】C语言核心知识点总结(Reference Manual)

1、词法(1)字符集——C语言字符集使用ISO/IEC 10646基本拉丁字符集,包括52个大小写拉丁字母,10个数字,空格,水平制表符HT,垂直制表符VT,换页符FF,以及29个特殊字符,它们是感叹号!,数字号#,百分号%,折音符^,和号&,星号*,左括号(,下划线_,右括号),连字符-,加号+,等号=,波浪号~,左方括号[,右方括号],撇号',竖线|,反斜杠\,分号;,冒号:,引号",左花括号{...
阅读(610) 评论(0)

【C】表达式

C语言表达式——(1)可以作为左值的非数组表达式(2)要求某个操作数为左值的运算符(3)运算符的优先级与结合性(4)二元运算符表达式(5)按位运算符(6)建议复杂的表达式最好使用圆括号进行分组,而不要依靠默认的操作符优先级与结合性;使用逻辑与、逻辑或的短路特性是个很好的选择。...
阅读(344) 评论(0)

【QT】float double的范围与精度及Qt中的qfloat16

1、格式float和double都是浮点数据类型,前者为单精度占四个字节,后者为双精度占八个字节。浮点数的存储格式采用IEEE标准,float包括1个符号位、8个指数位和23个尾数位,double包括1个符号位、11个指数位和52个尾数位,其中符号位表示正负,为1时表示负数,为0时表示正数。2、范围浮点数的范围由指数决定,以float为例,指数共8个二进制位,以无符号形式存储,指数范围为0~255,...
阅读(890) 评论(0)

【QT】QApplication简介

1、QApplicationQApplication类管理GUI程序的控制流和主要设置,是基于QWidget的,为此特化了QGuiApplication的一些功能,处理QWidget特有的初始化和结束收尾工作。 对于使用了Qt的任何GUI程序来说,不管何时何地有多少个Window,但只有一个QApplication对象,如果不是基于QWidget的程序,相应的则使用QGuiApplication,...
阅读(666) 评论(0)

【QT】QObject简介

1、简介QObject类是所有Qt对象的基类,是Qt对象模型的核心,这个模型的主要特征为信号与槽,信号与槽是一个非常重要的机制,用于对象间的通信。连接信号与槽使用connect()函数,断开连接使用disconnect()函数,blockSignals()函数可以临时屏蔽信号,避免循环不断的通知,另外,protected级别的connectNotify()和disconnectNotify()函数还...
阅读(496) 评论(0)

【QT】Qt QFlags源码分析

QFlags是个模板类,目的是提供类型安全的enum,在头文件qflags.h中定义,传统上C++使用int或uint存储enum值,却没有作类型检查。1、QFlagQFlag是一个基础类,还用到了QTypeInfo类,定义如下:// 在C++11中Q_DECL_CONSTEXPR为constexpr // 在C++11中Q_DECL_NOTHROW为noexcept // 重载了operator(...
阅读(454) 评论(0)

【QT】Qt对大小端字节序的处理

1、Endian Order什么是大小端字节序(Endian Order)?以四字节十六进制整型数0x12345678为例,按照书写习惯,从左到右,高位在前,低位在后,我们称0x12为最高有效字节,0x78为最低有效字节,在存储这个数字时,需要四字节的地址空间,比如说从0x00到0x03,地址空间是从低地址0x00到高地址0x03的一段连续地址,那么,低地址存储最高有效字节的形式为大端(Big En...
阅读(498) 评论(0)
255条 共17页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:302309次
    • 积分:5754
    • 等级:
    • 排名:第4981名
    • 原创:250篇
    • 转载:0篇
    • 译文:5篇
    • 评论:45条
    Make Others Better.
    博客专栏
    文章分类