c++
yuliying
这个作者很懒,什么都没留下…
展开
-
linux c md5加密 使用 openssl
转自: http://www.cppblog.com/API/archive/2013/08/09/202427.html方法一:#include#include#includeint main(int argc, char **argv){ MD5_CTX ctx; unsigned char *data = "123"; unsigned char md[16]转载 2017-09-28 15:20:02 · 398 阅读 · 0 评论 -
在遍历中使用 iterator/reverse_iterator 进行 Erase 的用法
在遍历中使用 iterator/reverse_iterator 进行 Erase 的用法罗朝辉 (http://blog.csdn.net/kesalin/)本文遵循“署名-非商业用途-保持一致”创作公用协议众所周知,在使用迭代器遍历 STL 容器时,需要特别留意是否在循环中修改了迭代器而导致迭代器失效的情形。下面我来总结一下在对各种容器进行正向和反向遍历过程中删转载 2017-10-04 19:55:07 · 877 阅读 · 0 评论 -
C++ STL lower_bound & upper_bound
转自: http://blog.csdn.net/nisxiya/article/details/44945441background首先,lower_bound和upper_bound是C++ STL中提供的非常实用的函数。其操作对象可以是vector、set以及map。lower_bound返回值一般是>= 给定val的最小指针(iterator)。up转载 2017-10-05 12:18:12 · 409 阅读 · 0 评论 -
STL中的multimap---顺便说说如何查找同一关键字对应的所有值(利用count, lower_bound/upper_bound, equal_range)
转自: http://blog.csdn.net/stpeace/article/details/44984639 我个人感觉哈, map的应用场景比multimap更多, 不过, 我们还是来学一下multimap。 我们知道, multimap中, 一个关键字可能对应多个不同的值, 怎么获取呢?我们来看程序, 接招(介绍三种方法): 结果为:#转载 2017-10-05 12:38:14 · 570 阅读 · 0 评论 -
Safe to store list::iterator for later use?
转自: https://stackoverflow.com/questions/837267/safe-to-store-listiterator-for-later-use===========================Ask======================================Suppose I have a list, in which n转载 2017-10-05 16:54:24 · 306 阅读 · 0 评论 -
STL 算法分类
转自: http://blog.csdn.net/qinivy/article/details/50380891 不改变操作对象内容的算法 1.1 线性查找: find; find_if; adjacent_find; find_first_of. 1.2 子序列匹配: search; find_end; search_n. 1.3 计算元素个数: count;转载 2017-10-06 12:59:12 · 200 阅读 · 0 评论 -
C++ STL extras - random_sample_n
转自: http://antonym.org/2003/09/c-plus-plus-stl-extras-random-sample-n.htmlWorking on some code for my research tonight, I wasted a lot of time looking for some information on a particlar STL转载 2017-10-06 12:38:56 · 834 阅读 · 0 评论 -
内存问题的排查工具和方法– Clang的AddressSanitizer
转自: http://www.cnblogs.com/cobbliu/p/4433341.html1 概述Valgrind可以有效地监测处大多数内存问题,你肯定忍不住会想,既然c/c++的内存问题这么常见,为什么不在编译器中加入内存问题检测的功能呢? 很可惜,GCC中还目前还不支持内存检测,可喜的是,clang支持。这里我们看看如何用clang发转载 2017-10-12 16:53:17 · 1294 阅读 · 0 评论 -
clang ThreadSanitizer AddressSanitizer MemorySanitizer
Thread-sanitizer=======ThreadSanitizer (aka TSan) is a data race detector for C/C++. Data races are one of the most common and hardest to debug types of bugs in concurrent systems. A data ra转载 2017-10-12 17:06:24 · 863 阅读 · 0 评论 -
clang UndefinedBehaviorSanitizer
UndefinedBehaviorSanitizerIntroductionHow to buildUsageAvailable checksVolatileMinimal RuntimeStack traces and report symbolizationIssue SuppressionDisabling Instru转载 2017-10-12 17:18:28 · 3801 阅读 · 0 评论 -
expat & scew
转自: http://blog.csdn.net/axlrosek/article/details/1641950Expat是一個XML的解析器, 透過它可以讓PHP程式解讀XML文件的結構和內容 一般XML解析器分為兩種基本類型樹狀解析器(Tree-based parser): XML文件轉換成樹狀結構. 這類解析器 分析整篇文章, 同時提供一個API來訪問所转载 2017-11-11 03:59:04 · 819 阅读 · 0 评论 -
syntax error on PKG_CHECK_MODULES
转自: http://blog.csdn.net/coolper/article/details/12037101eg../configure: line 14956: syntax error near unexpected token `PROTOCOL,'./configure: line 14956: `PKG_CHECK_MODULES(PROTOCOL, spice-p转载 2017-11-11 16:34:08 · 3071 阅读 · 1 评论 -
系统级性能分析工具 — Perf
转自: http://blog.csdn.net/zhangskd/article/details/37902159从2.6.31内核开始,linux内核自带了一个性能分析工具perf,能够进行函数级与指令级的热点查找。 perf Performance analysis tools for Linux.Performance cou转载 2017-10-26 13:50:10 · 327 阅读 · 0 评论 -
addr2line命令
转自: http://blog.csdn.net/lhf_tiger/article/details/9088609在Linux下写C/C++程序的程序员,时常与Core Dump相见。在内存越界访问,收到不能处理的信号,除零等错误出现时,我们精心或不精心写就的程序就直接一命呜呼了,Core Dump是Linux仁慈地留下的程序的尸体,帮助程序员们解决了一个又一个问题。转载 2017-11-30 11:34:42 · 919 阅读 · 1 评论 -
Linux程序异常退出打印调用堆栈
转自:https://blog.csdn.net/adream307/article/details/43574945/* * 程序异常终止时打印异常程序调用堆栈 * gcc -g -rdynamic BackTraceTest.c -o BackTraceTest * * 运行程序出现错误: * System error, Stack trace: * 0 ./BackT...转载 2018-04-09 15:37:40 · 2360 阅读 · 0 评论 -
Using a std::unordered_set of std::unique_ptr
转自:https://stackoverflow.com/questions/17851088/using-a-stdunordered-set-of-stdunique-ptr====================================Ask==================================== Assum转载 2017-09-10 13:52:27 · 397 阅读 · 0 评论 -
C++ Rvalue References Explained (c++右值引用详解)
传送门: http://thbecker.net/articles/rvalue_references/section_01.html转载 2017-04-06 12:49:41 · 426 阅读 · 0 评论 -
C++ std::enable_if解析
引言今日在阅读LLVM相关源码时(如下所示),遇到了enable_if这个概念,以前从没有遇到过,这里做个小记。/*----------llvm/include/llvm/ADT/Hashing.h------------*//// \brief Compute a hash_code for any integer value.////// Note that this funct转载 2017-04-13 13:32:03 · 3754 阅读 · 0 评论 -
Why use std::type_index instead of std::type_info*
转自: http://stackoverflow.com/questions/20022546/why-use-stdtype-index-instead-of-stdtype-info------------------------------------------------------Ask-----------------------------------------转载 2017-04-05 10:50:31 · 594 阅读 · 0 评论 -
Making and storing references to game objects (entities) in C++ and Lua
转自: https://eliasdaler.github.io/game-object-references/Table of ContentsIntroductionshared_ptr and weak_ptrUsing unique idsStoring references to entities in LuaConclusionIntroducti转载 2017-04-05 01:09:10 · 553 阅读 · 0 评论 -
C++ 程序嵌 Lua(基于 LuaBridge)
转自: https://segmentfault.com/a/1190000005765697配置文件搞不定的,就得依赖脚本。C++ 程序想嵌点脚本,Lua 几乎是首选。Lua 的源码自带 Makefile,可以编译出静态库、解释器、编译器三个目标文件,作为宿主的 C++ 程序,除了要包含 Lua 头文件,还应该链接这个静态库。如果 C++ 程序是由 CMake转载 2017-03-31 20:35:00 · 2492 阅读 · 0 评论 -
Using Quiescent States to Reclaim Memory
传送门: http://preshing.com/20160726/using-quiescent-states-to-reclaim-memory/转载 2016-08-09 13:25:17 · 323 阅读 · 0 评论 -
The Happens-Before Relation | The Synchronizes-With Relation
转自: http://preshing.com/20130702/the-happens-before-relation/Happens-before is a modern computer science term which is instrumental in describing thesoftware memory models behind C++11, Ja转载 2016-08-07 00:37:44 · 555 阅读 · 0 评论 -
C/C++结构体内存对齐
转自: http://www.cnblogs.com/wy-wangyan/archive/2010/10/14/1851671.htmlC/C++类/结构体内存遵循三个原则:1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除;2) 结构体每个成员相对于结构体首地址的偏移量(offset)都是成员自身大小的整数倍,如有需要编译器会在成员之间加上填充字节(i转载 2015-07-01 19:19:05 · 358 阅读 · 0 评论 -
Google C++ 风格指南 - 中文版
from http://code.google.com/p/google-styleguide/ 版本:3.133原作者:Benjy WeinbergerCraig SilversteinGregory EitzmannMark MentovaiTashana Landray翻译:YuleFoxyospaly项转载 2015-03-15 22:56:54 · 836 阅读 · 0 评论 -
C++类模板的三种特化
转载自: http://www.cppblog.com/SmartPtr/archive/2007/07/04/27496.html 说起C++的模板及模板特化, 相信很多人都很熟悉 ,但是说到模板特化的几种类型,相信了解的人就不是很多。我这里归纳了针对一个模板参数的类模板特化的几种类型, 一是特化为绝对类型; 二是特化为引用,指针类型;三是特化为另外一个类模板。 这里用一个转载 2015-02-10 00:41:58 · 492 阅读 · 0 评论 -
c++ 顺序容器 笔记
一、顺序容器的定义vector svec;list ilist;deque myclass;二、容器元素的初始化C c; (所有容器)C c(c2); (所有容器)C c(b , e); (所有容器) 允许使用内置数组的一对指针初始化容器C c( n , t); (顺序容器)C c(n)原创 2013-09-21 16:05:37 · 656 阅读 · 0 评论 -
类型安全的 C++/Lua 任意参数互调用
转自: http://gulu-dev.com/post/2016-05-19-cpp-lua-vargs在 C++ 和 Lua 协作时,双方的互调用是一个绕不开的话题。通常情况下,我们直接使用 Lua/C API 就可以完成普通的参数传递过程。但在代码中直接操作 lua stack,容易写出繁冗和重复的代码。这时我们往往会借助 tolua++ 之类的库,把参数传递的工作自动化转载 2017-04-05 11:58:27 · 1558 阅读 · 0 评论 -
Reflection in C++: The simple implementation of Splinter Cell
转自: http://www.gamasutra.com/view/news/128978/Reflection_in_C_The_simple_implementation_of_Splinter_Cell.php[In this reprinted #altdevblogaday in-depth piece, Lionhead and Ubisoft veteran Don转载 2017-04-05 14:15:50 · 473 阅读 · 0 评论 -
深入浅出SFINAE
转自: http://blog.csdn.net/godcupid/article/details/50420925翻译的很差,最好去看原文。原文链接:http://jguegant.github.io/blogs/tech/sfinae-introduction.html引言网上看到一篇介绍SFINAE的文章,自己听转载 2017-04-05 15:28:31 · 684 阅读 · 0 评论 -
C++11 reference collapsing and perfect forward (引用折叠以及完美转发)
转自: http://blog.csdn.net/beyongwang/article/details/54025439引用折叠原则和完美转发是有联系的,可以说后者是基于前者的某些特性实现的,具体来看一下。 要理解完美转发,需要了解两个知识点: 1. 引用折叠原则(Reference collapsing rules)。 2. 右值函数模版参数类型推导(T转载 2017-04-06 15:16:08 · 602 阅读 · 0 评论 -
C++11:变长模板的迭代与递归扩展
转自: http://blog.csdn.net/fawdlstty/article/details/49464097迭代的运行效率始终强于递归,递归始终比迭代方便开发。变长模板属于C++11中比较复杂的技术,在此简单介绍下。[cpp] view plain copy#include using nam转载 2017-04-06 21:31:00 · 881 阅读 · 0 评论 -
利用std::shared_ptr<void> 回收不同类型对象的内存
转自: http://stackoverflow.com/questions/5913396/why-do-stdshared-ptrvoid-work===========================================ASK===========================================I found some code usin转载 2017-04-26 14:14:57 · 2182 阅读 · 0 评论 -
Extreme type erasure via std::function 通过模板(而不是继承)实现接口
转自: https://a4z.bitbucket.io/blog/2017/01/11/exterm_typererasure-using-std::function.htmlIf you have a good title add some content… so I did and you can read the result here ;-)转载 2017-04-26 15:19:41 · 423 阅读 · 0 评论 -
std::reverse_iterator::base()
#include <iostream>#include <stdint.h>#include <vector>#include <algorithm>#include <set>int main(){ { std::cout << "test erase item from std...原创 2018-08-09 12:34:57 · 635 阅读 · 0 评论