c/c++
文章平均质量分 71
helloworldyu
好奇心呐
展开
-
第四届阿里巴巴性能大赛总结
最近一直在找装修公司,自己辛苦买的房子不住进去确实心有不甘呐。。。所以,比赛完了好久才开始写这个比赛总结。写总结的原因是这次比赛还是学到了很多东西。想要总结下。一开始看到有这个比赛的时候我是犹豫之拒绝的。因为想着准备装修,刚换工作根本没有时间。直到另外一个朋友发消息给我说,有这个比赛挺适合我的时候,我才决定报名的。。第一赛季:简介:目的:借助于 service mesh 的解决...原创 2018-07-18 21:55:48 · 2565 阅读 · 0 评论 -
c++ string与int(其他的内部类型)转换
基于C++11 的 string 转换问题如果你用的编译器是基于最新的C++11标准,那么string和其他类型转换问题就变的很简单,因为中已经封装好了对应的转换方法:标准库中定义了to_string(val);可以将其它类型转换为string。to_string这个函数还是很强大的!string to_string (int val);string to_string (long val);原创 2017-02-22 10:41:25 · 5173 阅读 · 0 评论 -
select
调试 snmp++ 出现段错误。第一个参数maxfd所代表的含义:代表的就是 socket 最大值.实测。下面是另一位仁兄的纠结过程。http://m.blog.csdn.net/blog/wuzili1234/12450451原创 2015-11-30 17:50:57 · 543 阅读 · 0 评论 -
ubuntu opencv3 安装
安装完 ubuntu 系统之后立马安装此库。否则后面安装的时候会造成软件包冲突。 apt-get libopencv-dev在 /usr/include/opencv2 目录下有所有的头文件。 opencv2_modules.hpp 文件夹里有与所有 opencv2 的宏。(我理解为: 判定你当前的 opencv 有没有某个功能就直接查看该文件的宏就好了)#define HAVE_OPEN原创 2015-12-30 19:20:40 · 630 阅读 · 0 评论 -
c++11 静态成员线程安全?
c++11 要求保证函数内部静态变量线程安全。 实测是保证静态成员构造的时候线程安全。#include <iostream>#include <unistd.h>#include <pthread.h>using namespace std;class Cnum{public: Cnum() { std::cout << "construct star原创 2015-12-28 16:58:22 · 5849 阅读 · 0 评论 -
c++ 在main 之前的全局对象
问题: google c++ 编程规范要求全局对象,应该用指针代替。指出类的构造函数在 main 之前执行是一个未定义的行为。查看资料之后,两大主流编译器 g++ , vs它们对于全局对象的处理是这样的。。。在 main() 函数开始之前先执行了一个 _start() 的函数。这个函数做了一些运行程序的初始化的操作。 证明:class Test{public: Test()原创 2015-12-28 11:12:28 · 2611 阅读 · 0 评论 -
c++ 迭代器与下标访问效率问题
今天验证下在 c++ vector 下标访问及迭代器访问的效率问题。100W 数据存放到 vector 里。便利访问,以为打印的效率很低,所以不打印,只是访问下就 ok。 首先用迭代器的方式访问了一下。 平均时间: real 0m0.009s user 0m0.008s sys 0m0.000sint main(){ std::vector<int> vecInt(1原创 2015-08-04 22:46:11 · 7219 阅读 · 4 评论 -
关于C++类成员函数的重载、覆盖、隐藏与virtual关键字
1. 重载、覆盖与隐藏1).重载:成员函数具有以下的特征时发生”重载”A.相同的范围(同一个类中)B.函数的名字相同C.参数类型不同(不能进行隐式类型转换)D.Virtual关键字可有可无2).覆盖(也叫”继承”):指派生类函数覆盖基类函数,特征是:A.不同的范围(分别位于基类与派生类中)B.函数名字相同C.参数相同D.基类函数必须有virtual关键字3).隐藏:是指派生类的函数屏蔽了与其同名的基转载 2015-05-29 23:48:22 · 1839 阅读 · 0 评论 -
linux snmp 安装
tar -zxvf snmp++v3.3.4.tar.gz cd snmp++-3.3.4/ ./configure make sudo make install//测试 snmp++ 代码#include <iostream>#include <snmp_pp/snmp_pp.h>#include <snmp_pp/oid.h>using namespace std;using原创 2015-05-29 11:10:27 · 1317 阅读 · 0 评论 -
c++ new 的几个用法
在 c++ 里 new 有三个用法。1) new xxx, 2) operator new( int size ), 3) placement new.最常用的是 new xxx 例如 pstr = new string(“xxx”); 这种会调用 string 的构造函数,并需要通过 delete pstr 来析构。 void* w = operator new(100); op原创 2015-06-16 15:31:47 · 3198 阅读 · 0 评论 -
c++ new 的几个用法
在 c++ 里 new 有三个用法。1) new xxx, 2) operator new( int size ), 3) placement new.最常用的是 new xxx 例如 pstr = new string(“xxx”); 这种会调用 string 的构造函数,并需要通过 delete pstr 来析构。 void* w = operator new(100); op原创 2015-06-16 00:56:13 · 706 阅读 · 0 评论 -
基数估计算法
译注:给定一个数据集,求解数据集的基数(Cardinality,也译作“势”,表示一个数据集中不同数据项的数量)是非常普遍的一个需求。许多业务需求最终可以归结为基数求解,如网站访问分析中的UV(访客数,指一段时间内访问网站的不同用户的数量)。由于数据集基数是不可聚集指标(两个数据集总的基数无法通过分别的基数简单计算),因此如果要得到N个数据集任意组合的基数,需要 2^N次数据集去重计算,是一个复杂转载 2015-05-28 18:01:48 · 2758 阅读 · 0 评论 -
hiredis api 介绍
B)同步的API接口redisContext *redisConnect(const char *ip, int port);void *redisCommand(redisContext *c, const char *format, ...);void freeReplyObject(void *reply);1)建立连接redisContext *c = redisConnect("127转载 2015-04-20 15:05:48 · 901 阅读 · 0 评论 -
c++ throw() 解析
最近在看 poco c++ 一个非常好的 poco c++ 框架。在看的时候发现一个语句不是很理解。 const char* Exception::what() const throw() 所有百度了一下。 记录如下: 它是函数提供者和使用者的一种约定,即提供者告诉使用者。此函数会抛出哪个异常。func() throw(type) ,会抛出type异常func() throw(),不会抛出f原创 2015-04-02 17:44:22 · 3848 阅读 · 0 评论 -
openssl 使用 未定义的引用
ubuntu 下使用 openssl 3des 加密编译报错/tmp/ccsIK1Cj.o:在函数‘main’中: test.cpp:(.text+0x218):对‘DES_set_key_unchecked’未定义的引用 test.cpp:(.text+0x24a):对‘DES_set_key_unchecked’未定义的引用 test.cpp:(.text+0x27c):对‘DES_set原创 2015-03-24 18:29:29 · 6780 阅读 · 0 评论 -
openssl 使用 未定义的引用
ubuntu 下使用 openssl 3des 加密编译报错/tmp/ccsIK1Cj.o:在函数‘main’中: test.cpp:(.text+0x218):对‘DES_set_key_unchecked’未定义的引用 test.cpp:(.text+0x24a):对‘DES_set_key_unchecked’未定义的引用 test.cpp:(.text+0x27c):对‘DES_set原创 2015-04-02 17:25:07 · 8217 阅读 · 1 评论 -
getservbyname 及 struct servent
今天看 isc-dhcp-源代码发现一个结构体不认识 struct servent。遂查之,通过阅读资料手动尝试,现总结如下:定义于:/usr/include/netdb.h/* Description of data base entry for a single service. */struct servent { char *s_name; /*原创 2015-01-08 23:18:25 · 1818 阅读 · 0 评论 -
linux 服务器至少需要忽略的几个信号
SIGCHLD,默认不处理,会产生僵尸进程,直到父进程推出,才被ini原创 2014-05-22 22:04:29 · 1625 阅读 · 0 评论 -
c/c++ goto 语句
goto语句goto语句的发展历程 问题起源: 60年代中期以后,计算机硬件技术日益进步,计算的存贮容量、运算速度和可靠性明显提高,生产硬件的成本不断降低。计算机价格的下跌为它的广泛应用创造了极好的条件。在这种形势下,迫切要求计算机软件也能与之相适应。因而,一些开发大型软件系统的要求提了出来。然而软件技术的进步一直未能满足形势发展的需要,在大型软件的开发过程中出现了复杂程度转载 2014-05-21 16:25:52 · 1578 阅读 · 0 评论