随笔分类 -  [002] C/C++

上一页 1 2 3 4 5 6 ··· 9 下一页
JSON文件内容加注释的几种方法
摘要:JSON规范,不支持注释。之所以不允许加注释,主要是防止:过多的注释,影响了文件本身的数据载体的目的。 有些文件,尤其是配置文件,加入解释说明一些数据项的含义,是有必要的。 1、使用JSON5规范 JSON5规范允许在JSON文件中加入注释:单行注释,多行注释均可。 2、直接用json-schema 阅读全文
posted @ 2020-08-23 18:15 莫水千流 阅读(34293) 评论(0) 推荐(1) 编辑
C语言--#、##、__VA_ARGS__ 和##__VA_ARGS__ 的使用
摘要:# 用来把参数转换成字符 #include <stdio.h> #define FUN(X) (printf("%s=%d\n",#X,X)) /* #用来把参数转换成字符 */ int test(int argc, char ** argv) { int a = 1; int b = 2; FUN 阅读全文
posted @ 2020-08-23 16:39 莫水千流 阅读(2940) 评论(0) 推荐(0) 编辑
hash 算法
摘要:inline size_t hashstring(const char* s){ unsigned long h = 0; for (; *s; ++s) { h = 5 * h + *s; } return (size_t)(h);} 阅读全文
posted @ 2020-08-19 13:39 莫水千流 阅读(90) 评论(0) 推荐(0) 编辑
字符串匹配算法综述
摘要:写的好棒!!!%%%粘来咯... 字符串匹配算法,是在实际工程中经常遇到的问题,也是各大公司笔试面试的常考题目。此算法通常输入为原字符串(string)和子串(pattern),要求返回子串在原字符串中首次出现的位置。比如原字符串为“ABCDEFG”,子串为“DEF”,则算法返回3。常见的算法包括: 阅读全文
posted @ 2020-08-19 09:14 莫水千流 阅读(336) 评论(0) 推荐(0) 编辑
C++ 中利用 _findfirst遍历所有文件夹及文件,以及findnext win10报错解决办法
摘要:C++中读取文件可以采用几个函数分别为,_findfirst、_findnext、_findclose。其中还要借助结构体 struct _finddata_t,_finddata_t主要用来存储各种文件的信息。 struct _finddata64i32_t { unsigned attrib; 阅读全文
posted @ 2020-08-19 09:04 莫水千流 阅读(1062) 评论(1) 推荐(1) 编辑
C++ STL bind1st bind2nd bind 的使用
摘要:说明 bind1st() 和 bind2nd(),在 C++11 里已经 deprecated 了,建议使用新标准的 bind()。 下面先说明bind1st() 和 bind2nd()的用法,然后在说明bind()的用法。 头文件 #include <functional> 作用 bind1st( 阅读全文
posted @ 2020-08-19 06:47 莫水千流 阅读(1044) 评论(0) 推荐(1) 编辑
C++如何获取当前路径下所有文件的文件名 ZZ
摘要:今天我遇到了这样一个任务:要求编写一个程序,统计和这个程序在同一目录下(及其子目录)所有文件的单词数。统计单词数十分倒不是太难,倒是找出同一目录下的所有文件,是我从来没有接触过的。仔细分析,这个问题其实包含两个小问题: 1. 如何获取当前程序所在文件夹的路径 2. 如何给定一个路径,递归地找到其中( 阅读全文
posted @ 2020-08-18 23:18 莫水千流 阅读(2253) 评论(0) 推荐(0) 编辑
利用C/C++编写程序以获取文件夹内所有子文件名,以下程序参考网络上诸多博文:
摘要:利用C/C++编写程序以获取文件夹内所有子文件名,以下程序参考网络上诸多博文: 头文件如下: #include <iostream> #include <stdlib.h> #include <stdio.h> #include <string.h> #ifdef linux #include <u 阅读全文
posted @ 2020-08-18 23:11 莫水千流 阅读(324) 评论(0) 推荐(0) 编辑
emplace
摘要:在C++开发过程中,我们经常会用STL的各种容器,比如vector,map,set等,这些容器极大的方便了我们的开发。在使用这些容器的过程中,我们会大量用到的操作就是插入操作,比如vector的push_back,map的insert,set的insert。这些插入操作会涉及到两次构造,首先是对象的 阅读全文
posted @ 2020-08-15 15:10 莫水千流 阅读(574) 评论(0) 推荐(0) 编辑
值得推荐的开源C/C++框架和库
摘要:值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简 阅读全文
posted @ 2020-04-17 14:01 莫水千流 阅读(1950) 评论(0) 推荐(0) 编辑
实战经验:通过类成员函数指针实现类方法调用
摘要:成员指针解引用操作符(.*)从对象或引用获取成员*成员指针箭头操作符(->*)通过对象的指针获取成员 类成员函数指针定义 因为函数是一个类的成员,所以它的指针定义有别于全局函数,格式如下: typedef 返回值(类名::*函数指针类型名称)(参数列表); 需要注意的地方 1) 使用typedef创 阅读全文
posted @ 2019-08-22 15:08 莫水千流 阅读(3527) 评论(0) 推荐(0) 编辑
float 浮点数与零值0比较大小 ZZ
摘要:float x; 千万不要写x==0; 写出float x 与“零值”比较的if语句——一道面试题分析 写出float x 与“零值”比较的if语句 请写出 float x 与“零值”比较的 if 语句: const float EPSINON = 0.00001; if ((x >= - EPSI 阅读全文
posted @ 2019-03-30 07:16 莫水千流 阅读(4901) 评论(0) 推荐(1) 编辑
double compare 0
摘要:因为double类型或float类型都是有精度的,其实都是取的近似值,所以有个误差。和一个很小的数比如0.00000001(1e-8)比较就是为了在这个误差范围内进行比较。 举个例子如double b = 0.123456可能是0.1234561的四舍五入后得到的结果。最后的0.0000001就表示 阅读全文
posted @ 2019-03-30 07:09 莫水千流 阅读(953) 评论(0) 推荐(0) 编辑
const的用法,特别是用在函数前面与后面的区别!
摘要:const的用法,特别是用在函数后面 在普通的非 const成员函数中,this的类型是一个指向类类型的 const指针。可以改变this所指向的值,但不能改变 this所保存的地址。 在 const成员函数中,this的类型是一个指向 const类类型对象的 const指针。既不能改变 this所 阅读全文
posted @ 2019-03-13 22:11 莫水千流 阅读(3439) 评论(0) 推荐(0) 编辑
C++内存机制中内存溢出、内存泄露、内存越界和栈溢出的区别和联系
摘要:当我们在用C++做底层驱动的时候,经常会遇到内存不足的警告,究其原因,往往是因为内存出现溢出,泄露或者越界等原因。那么他们之间有什么联系吗? 内存溢出(out of memory)是指程序在申请内存时,没有足够的内存空间供其使用。 内存泄漏(memory leak)是指程序在申请内存后,无法释放已申 阅读全文
posted @ 2019-03-12 23:31 莫水千流 阅读(4204) 评论(0) 推荐(1) 编辑
深入理解C++内存管理机制
摘要:关于C++的内存处理,可分为三大块,分别是: (一)内存管理机制 (二)内存泄露处理 (三)内存回收机制 这篇文章将就(一)内存管理机制 进行深入探讨,如有错误欢迎大家指正。 C++的内存管理也可细分为 1. 程序内存布局 2. 内存的分配方式 3. 常见内存错误及对策 一. 程序内存布局 查了相关 阅读全文
posted @ 2019-03-12 23:30 莫水千流 阅读(1608) 评论(0) 推荐(0) 编辑
c/c++内存机制(一)(转)
摘要:一:C语言中的内存机制 在C语言中,内存主要分为如下5个存储区: (1)栈(Stack):位于函数内的局部变量(包括函数实参),由编译器负责分配释放,函数结束,栈变量失效。 (2)堆(Heap):由程序员用malloc/calloc/realloc分配,free释放。如果程序员忘记free了,则会造 阅读全文
posted @ 2019-03-12 23:13 莫水千流 阅读(1272) 评论(1) 推荐(0) 编辑
与临时对象的斗争(上)ZZ
摘要:C++ 是一门以效率见长的语言(虽然近来越来越多的人“不齿”谈及效率,我深以为不然,在某一次的程序编写中不对效率锱铢必较并不意味意味着我们就不应该追求更多的更好的做法)。总之吧,相比起其它语言,程序员们在使 C++ 的时候会更加有意识地去避免没有效率的做法。在C++ 的程序中,临时对象的产生就是损及 阅读全文
posted @ 2019-03-10 18:43 莫水千流 阅读(275) 评论(0) 推荐(0) 编辑
与临时对象的斗争(下)
摘要:Expression Template(表达式模板,ET) 如果有“系统地”学习过 C++ 的模板编程,那么你应该已经知道 Expression Template 这个“东西”。在模板圣经《C++ templates》的第 18 章专门用了一整章来讲这个技巧,(是的,我认为它是一种技巧)。足以见得它 阅读全文
posted @ 2019-03-10 18:43 莫水千流 阅读(277) 评论(0) 推荐(0) 编辑
C++异常处理解析: 异常的引发(throw), 捕获(try catch)、异常安全
摘要:前言: C++的异常处理机制是用于将运行时错误检测和错误处理功能分离的一 种机制(符合高内聚低耦合的软件工程设计要求), 这里主要总结一下C++异常处理的基础知识, 包括基本的如何引发异常(使用throw)和捕获异常(try catch)相关使用注意点, 以及C++标准库提供的一套标准异常类和这些异 阅读全文
posted @ 2018-12-11 09:13 莫水千流 阅读(9060) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 9 下一页