C/C++
文章平均质量分 76
艾鹤
敏于行,敏于言,千里之行始于足下。
展开
-
CentOS 6.5 下编写一个简单的C++程序
CentOS 6.5 下编写一个简单的C++程序原创 2017-06-09 02:19:56 · 6241 阅读 · 3 评论 -
linux 下单元测试框架Catch2的使用
官方教程有三种方式方式1 如下第一步:获取 Catch2,下载 catch.hpp第二步:引入头文件#include "catch.hpp"第三步:写测试代码#define CATCH_CONFIG_MAIN // This tells Catch to provide a main() - only do this in one cpp file#include "catc...原创 2019-01-17 15:13:49 · 3618 阅读 · 0 评论 -
c++编译要点<linux>
1、g++/gcc2、makefile3、cmake原创 2019-01-22 18:49:25 · 254 阅读 · 0 评论 -
makefile嵌套编译
这里用一个很很简单的别人的例子这里说明:项目目录如下:根目录makefileall: gbdt ffm-train ffm-predictgbdt: #编译 solvers/gbdt 目录下的makefile make -C solvers/gbdt ln -sf solvers/gbdt/gbdtffm-train: #编译 solvers/libffm-...原创 2019-03-09 18:19:05 · 502 阅读 · 0 评论 -
C++程序/项目内存泄漏检查(valgrind)
valgrind --tool=memcheck --leak-check=yes --show-reachable=yes --log-file=leak.log ./bin/main原创 2019-03-19 18:53:31 · 589 阅读 · 0 评论 -
C++项目类&方法时间占比统计
1、以valgrind方式运行可执行文件,如下:其中假定可执行文件运行方式为 ./bin/main confvalgrind --tool=callgrind ./bin/main conf2、上一步会生成一个文件:callgrind.out.*,运行软件qcachegrind074-32bit-x86,导入文件callgrind.out.*即可查看每个类&方法的时间占比...原创 2019-04-26 13:12:28 · 442 阅读 · 0 评论 -
Linux下安装指定版本GCC&升级GLIBCXX
安装指定版本GCC查看gcc版本命令gcc -v具体安装方式参见:https://blog.csdn.net/qq_33438733/article/details/79983141升级GLIBCXX查看GLIBCXX所支持的所有版本的命令strings /usr/lib64/libstdc++.so.6 | grep CXX具体安装方式参见:https://blog....原创 2019-04-17 20:30:08 · 4918 阅读 · 0 评论 -
boost安装
wget http://sourceforge.net/projects/boost/files/boost/1.54.0/boost_1_54_0.tar.gztar -xzvf boost_1_54_0.tar.gzcd boost_1_54_0./bootstrap.sh --prefix=/usr/local./b2 install --with=allvim ~/.bashrc...原创 2019-07-24 10:32:16 · 134 阅读 · 0 评论 -
指针函数
https://blog.csdn.net/shijiu2012/article/details/82258424原创 2019-08-13 17:45:27 · 116 阅读 · 0 评论 -
C++ set使用总结
Member functions1 构造函数std::set<int> first; // empty set of intsint myints[]= {10,20,30,40,50};std::set<int> second (myints,myints+5); // rangestd::se...原创 2019-08-23 19:53:51 · 166 阅读 · 0 评论 -
C++ vector使用总结
一、Member functionsConstruct std::vector<int> first; // empty vector of ints std::vector<int> second (4,100); // four ints with val...原创 2019-08-23 19:57:01 · 159 阅读 · 0 评论 -
void* 与string互转
#include <utility> // std::pair#include <iostream> // std::cout#include <string>int main () { // Cast a dynamically allocated string to 'void*'. void *vp = static_cast&...原创 2019-08-12 20:41:07 · 6343 阅读 · 1 评论 -
《effective c++(第三版)》55个具体做法1
做法1原创 2019-09-09 11:49:23 · 148 阅读 · 0 评论 -
C++基础【一】:类设计注意要点
一、设计规范:数据尽量私有;参数尽量传引用,const依情况而定;返回值尽量返回引用;函数尽量设置为设置为const(当不需要改变成员变量时);尽量使用参数列表. ;二、其他:C++默认设置(很小的点,很重要的理解) 1、C++ 相同class各个objects互为友元,所以下面的调用就很合理{A a1(1,2);A a2;a2.fun1(a1);...原创 2018-06-24 22:21:24 · 517 阅读 · 0 评论 -
比较两个set是否相等?(C++)
假设有两个set如下:set<string> setTemp;set<string> setTemp1;setTemp.insert("nihao1");setTemp.insert("nihao2");setTemp.insert("nihao3");setTemp.insert("nihao4");setTemp1.insert("nihao1");setTemp1.insert("n原创 2018-04-16 11:09:22 · 14819 阅读 · 3 评论 -
vs15下c++调用python module
参考资料:[C++获取numpy中的list类型数据](http://blog.csdn.net/stu_csdn/article/details/69488385)[C++获取numpy中的ndarray类型数据](https://docs.scipy.org/doc/numpy/reference/c-api.array.html)extend:[基于VS2015 X64的boost.pyt原创 2017-11-08 20:12:04 · 370 阅读 · 0 评论 -
vs环境中,使用VAssistX给函数添加注释
1、安装VAssistX: 参考—带你玩转Visual Studio——带你高效开发 2、给函数添加注释和快捷键: 参考—使用VAssistX给文件和函数添加注释-2015.12.31当然除了函数可以添加注释之外,还可以添加文件注释等等: 参见:http://www.cnblogs.com/zhouLee/p/5090776.html原创 2017-10-27 14:19:48 · 1088 阅读 · 2 评论 -
在VS2015下,glog的简单使用
准备工作: 1),安装vs2015,社区版即可 2),下载glog,版本:glog-0.3.3.tar.gz一、glog编译 1、解压glog-0.3.3.tar.gz,双击google-glog.sln文件: 2、生成解决方案,如图: 3、不出意外出现一堆错误,怎么办,参考如下解决方案,如下: glog–介绍以及vs2010 vs20原创 2017-11-01 21:45:58 · 2040 阅读 · 2 评论 -
C++多线程编程回顾(1)(C11)
1、线程join&detach,代码示例如下(实测,可用):#include <iostream>#include <thread>#include <windows.h>//打印线程号所引,仅限Windows平台using namespace std;void Do(int num, const char* c) { cout << "num: " << num << "c: " <原创 2017-11-24 22:06:26 · 377 阅读 · 0 评论 -
C++类型互转(安全vs不安全)
问题:将str转为整数 input:“1234” output:12341,一种不安全的方式#include<iostream>...int result = std::ioat(str.c_str());2,一种安全的方式#include<sstream>...std::stringstream stream;//向流中传值stream << str;//这里存储转换结果int原创 2017-12-27 16:34:03 · 520 阅读 · 1 评论 -
C++ map使用总结
1、当Map中value为指针时,迭代删除方法总结class A;mapstring, A* > mMap;//方法一:mapstring,A* >::iterator iter = mMap.begin();while(iter != mMap.end()) { delete iter->second; iter->second = NULL; mMap原创 2018-01-07 11:37:14 · 339 阅读 · 0 评论 -
c++ string使用總結
-目的- 主要想总结一下字符串常用的一些操作方法1、这里以举个栗子,问题描述如下: 如何将字符串:“one,two,three”,中的所有逗号替换成“、”? 代码如下:#include #include int main() { std::string sStr = "one,two,three"; const std::string sStop = ","原创 2018-01-07 17:43:24 · 251 阅读 · 0 评论 -
C++可变参数宏
0、如下为一个小例子#define F(...) printf(__VA_ARGS__) F("hello\n"); F("count = %d\n", ONE); 1、一个更内容更加丰富的栗子://此处仅作示例,参数数量略少#define LOG(...) Log(#__VA_ARGS__,__VA_ARGS__) //实现部分//参数str接收的是原创 2017-12-09 17:24:37 · 578 阅读 · 0 评论 -
python调用C++ bin(commands module)
假设bin文件的执行方式为:#说明:这里main为bin可执行文件,conf.txt为配置文件,剩下的为传入的json字符串./main conf.txt {"str1":"XXX"}python调用bin文件的代码,如下:import commands,json//json字符串中的双引号需要转义command_line = r'./modelpath/main ./modelpath/conf原创 2018-01-07 18:20:06 · 968 阅读 · 0 评论 -
C++ 编码规范/注意事项
1、成员方法尽量声明为const,防止成员变量被修改。、原创 2018-01-14 21:00:01 · 261 阅读 · 0 评论 -
jsoncpp封装json与解析json
1、封装json假设想将:hello, 封装成:{“result”:”hello”}const static string RESPONSE_KEY = &amp;amp;amp;quot;result&amp;amp;amp;quot;;Json::Value val;val[RESPONSE_KEY] = &amp;amp;amp;quot;hello&amp;amp;amp;quot;;Json::FastWriter jso原创 2018-02-09 16:13:03 · 768 阅读 · 0 评论 -
C++11新特性
1 发展历程2 c++11新特性語言標準庫參考文獻:# 發展歷程https://blog.csdn.net/weixin_42837024/article/details/82427780http://c.biancheng.net/cpp/biancheng/view/1.htmlhttp://c.biancheng.net/cpp/biancheng/view/2.html...原创 2019-09-11 17:50:20 · 139 阅读 · 0 评论