C++
文章平均质量分 80
右耳朵猫(whinc)
喜欢开源的精神,喜欢优雅简洁的风格,喜欢捣鼓折腾......
展开
-
【C++】cmdline —— 轻量级的C++命令行解析库
平时用C++写一些命令行工具,需要解析命令行的输入参数,这是一项繁琐并且容易出错的工作,我们不应该将主要精力放在这上面,可以考虑使用开源的库,下面的cmdline就是其中非常好用的一款。cmdline 是一个非常简单好用的C++命令行解析库,其基于模板,所以使用很简单,写出的代码也很优雅。由于其只包含一个头文件,所以很容易集成到自己的项目中。原创 2014-10-26 20:15:30 · 17164 阅读 · 1 评论 -
【C++】Byte/KB/MB/GB/TB/PB/EB 单位换算C++代码
字节单位换算公式:1 GB = 1024 MB1 MB = 1024 KB1 KB = 1024 Bytes1 Byte = 8 bits将字节单位转化为目标单位根据公式我写了一段C++代码,用于将输入的以字节为单位的数值,转换为目标单位数值。代码中的枚举类型用的是C++11的语法。enum class Unit{ Byte, KB, MB, GB, TB, PB, EB};原创 2014-10-20 22:56:36 · 7177 阅读 · 0 评论 -
【cocos2d-x 3.x 学习笔记】对象创建方式讨论
一般C++创建对象的方式,直观符合一般的C++编程习惯,缺点是需要自己负责资源的释放(这一点可以使用共享指针std::shared_ptr来最大限度避免)。而且如果无法知晓init()函数调用是否成功(这一点可以通过增加一个是否初始化成功的成员字段,作为标识来间接判断)。cocos2d-x创建对象的方式,其在构造函数中初始化成员变量,在初始化函数中完成对象的初始化工作,在类的静态函数create()中完成前两步并将内存交由其内部的内存管理机制管理。可能有点绕弯,但是一旦习惯用起来还是很好的。这种方式最大的原创 2014-09-14 17:27:13 · 2517 阅读 · 0 评论 -
经典C语言程序设计100例 -- C 和 Python 版 (01 - 05)
写在开头的话Python 重写C语言程序设计百例,每篇5题,每题分别用C语言和Python实现,方便对比。 C语言编译器:GCC 4.8.2 Python版本:Python 3.7写这个系列是受这位博主(http://blog.csdn.net/berguiliu?viewmode=contents)的启发,自己想重写一遍,使用更加Python化的风原创 2014-05-20 19:05:09 · 3084 阅读 · 0 评论 -
【C++】重载二维数组下标 [ ][ ]
1. 分析重载一维数组下标很简单,通过下标传入的索引值,返回内部数组中相应的值。那重载二维数组的下标运算呢?其实重载二维和一维本质是一样的,因为 C/C++ 中所谓的 “二维或多维数组”都是又简单的一维数组表示的。举个例子哈:下面是两个 int 数组,第(1)个是熟悉的一维数组,第(2)个是熟悉的二维数组,现在你要做的就是将第(2)个数组看成是一个一维数组。原创 2014-03-16 19:34:25 · 10062 阅读 · 6 评论 -
【C++】字符串和数值类型的相互转化(借助STL)
在C++编程中有时会遇到字符串和数字的相互转化,以前学习的时候老师喜欢将这种转化当成作业,要我们写函数实现。但是实际为了方便准确还是会优先使用STL来完成。 在 C 标准库中提供了字符串到数值类型的转化函数,但是没有提供数值到字符串的转换(不过有些系统如 Windows API中提供数值到字符串的转化)。先看看C标准库中的字符串转化函数,这些函数都包含在头文件 中:原创 2014-03-14 17:34:58 · 5024 阅读 · 0 评论 -
【C++】Runtime error:iterators incompatible 迭代器类型不一致
之前写了下面这样的一段代码(数据类型简化了一下,功能类似),结果老是报错误 "iterator can not dereference" 或者是 "iterators incompatible"的运行时错误.后来找到了问题的关键是一个疏忽,但是又容易犯,这里记录下方便以后遇到类似的问题给自己提个醒。#include #include #include using namespace st原创 2014-03-14 15:14:45 · 1340 阅读 · 0 评论 -
你会计算 C 语言中的结构体的大小吗?
计算 sizeof(struct),很多初学者都会在这里栽跟头!C语言中的结构体为我们提供了集中数据的机制,使用结构体可以将相关的数据存放在一起,组成一个有机整体,方便使用。下面是一个结构体示例:struct tagPhone{ char A; int B; short C;}Phone;结构体看似简单,但也原创 2013-11-12 11:55:08 · 3106 阅读 · 4 评论 -
C++ string类型与 C 风格字符串性能比较
最近在拜读《C++ Primer》,C++ 标准库里的string 类型的确比 C 风格的字符串好用(代码简洁、安全、易读),但是心里总担心其包装好了性能可能会损失,于是就做了下面这个小测试,来比较一下二者的性能,我选取了3个比较常用的字符串操作——开辟内存、复制、比较——循环执行一定次数,统计其所耗费的时间。下面是C++测试代码:#include #include #in原创 2013-01-18 20:57:51 · 2591 阅读 · 0 评论 -
【Qt】C++中的循环遍历
介绍 本文主要讨论C++中常见的几种循环遍历操作的语法:基于迭代器、基于Qt库中的foreach关键字、基于C++11新增的for循环语句。基于迭代器的遍历在C++容器中经常需要进行遍历操作,在C++11之前一般使用下面这种方式——基于迭代器的遍历: QList list {"a", "b", "c", "d"}; QList:原创 2014-08-06 15:13:36 · 5157 阅读 · 0 评论