程序测试
一缕阳光a
(1)、从2018年8月开始从事分布式数据库内核开发工作,包括自研分布式分析型数据库OLAP、自研分布式数据库HTAP,根据开源数据库实现本公司集群型的OLTP产品,以及现在正在做的根据opengaussDB开发的HTAP类型数据库。
(2)、乐于专研,对分布式数据库有强烈的兴趣。
个人邮箱: zgaoq@163.com。
展开
-
main()的参数argc与argv
C语言中的main()函数,一般会带有2个参数,例如int main (int argc, char* argv[]),这是一个典型的main函数的声明。参数如下: argc: 整数, 为传给main()的命令行参数个数。 argv: 字符串数组。 在DOS 3.X 版本中, argv[0] 为程序运行的全路径名; 对DOS 3.0 以下的版本, argv[0]为空串("") 。 argv[1] 为在D原创 2022-06-21 18:44:24 · 767 阅读 · 0 评论 -
c++11之std::move()
在c++11中引入了std::move(),目的是将左值转换为右值,一般与右值引用一起使用。先说下左值与右值的区别:左值:能被赋值的值,能取到地址的值。例如: int a = 100;右值:临时值,取不到地址。例如常量右值引用只能引用右值,有时需要将左值转换为右值,所以就用到了std::move()int a = 100; // a是左值int b = 200;int &&c = b; // 错误,c是右值引用,只能引用右值int &&a..原创 2021-04-30 16:52:56 · 1447 阅读 · 1 评论 -
c++11中静态断言static_assert
c++11中的静态断言(static_assert)在c++11中引入了,目的是在编译时就能检查处一些问题。写法如下:static_assert(常量表达式,提示字符串);如果第一个参数常量表达式的值为真(true或者非零值),那么static_assert不做任何事情,就像它不存在一样,否则会产生一条编译错误,错误位置就是该static_assert语句所在行,错误提示就是第二个参数提示字符串。非常简单的例子如下:int main () { static_as..原创 2021-04-30 16:36:50 · 2703 阅读 · 1 评论 -
linux下unix timestamp 与 可视化时间/常规时间进行转换
unix timestamp 与 可视化时间/常规时间进行转换。最近工作中需要根据可视化时间得到unix timestamp,完成工作之后记录下来了,防止下次遇到此问题时,又需要重新梳理,直接上代码了:#include <iostream>#include <string>#include <ctime>#include <string.h>void unix_timestamp_2_str(long timestamp, char st原创 2021-04-29 17:45:10 · 637 阅读 · 0 评论 -
ldd命令解析
在linux中,经常会碰到查看可执行文件需要依赖哪些动态链接库,这时ldd命令就可以排上用场了由于某种原因,屏蔽了一些内容,结果如下:可以根据结果查找对应的动态链接库原创 2020-08-31 17:35:08 · 532 阅读 · 0 评论 -
在构造函数/析构函数中调用virtual函数带来的影响
在构造函数/析构函数中调用virtual函数,那么调用的一定是本类中的virtual函数。先看一段代码:#include<iostream>class Base {public: Base() { print(); } ~Base() { print(); } virtual void print...原创 2020-05-08 11:06:34 · 394 阅读 · 0 评论 -
vector深拷贝与浅拷贝使用总结
(1)、拷贝构造/赋值函数 --- 深拷贝 int w= 100; int h = 20; vector<int> dataA(w*h ,0Xff); vector<int> dataB = dataA; // copy 构造 int * ptr0 = &dataA[0]; int * ptr1 = &...原创 2020-03-06 16:12:03 · 7259 阅读 · 0 评论 -
Jmeter测试监控 Summary Report界面
Jmeter测试监控 Summary Report界面这几天使用了JMeter测试数据库在进行点查询时的读写性能,从网上找到了该篇文章用于备份。所有数据写入一个文件:保存测试结果到本地。文件名:指定保存结果。仅日志错误:仅保存日志中报错的部分。Successes:保存日志中成功的部分。Configure:设置结果属性,即保存哪些结果字段到文件。一般保存必要的字段 信息...转载 2019-12-19 17:26:35 · 1383 阅读 · 0 评论 -
在类中调用delete this问题
转载:https://blog.csdn.net/kuimzzs/article/details/81517451很多时候,一些定义在类内的变量的生命周期在类外并不是很好的掌控,这样就很容易造成内存泄漏得到问题比如以下代码:class Test{public: void foo();private: char *p;};void Test::foo(){...转载 2019-11-20 19:38:41 · 278 阅读 · 0 评论 -
GDB 调试指南
大家好,好久没给大家带来原创干货了,导致很多新来的小伙伴以为我这个号就是个机构号,其实不是,这个是个人号,背后的小编我是一个有血有肉有情怀的人,不管怎么样,我的目的是尽量带给大家优质的干货。今天这篇总结了GDB的一个调试技巧,标题取为「调试指南」一点都不夸张,基本浓缩了GDB调试所有会用到的功能,所有技术人都适用。如果觉得文章有帮助,烦请大家给我个在看分享,鼓励我输出更多干货给大家。...转载 2019-09-23 18:43:11 · 249 阅读 · 0 评论 -
std::vector中resize()和reserve()区别
在STL容器中vector用的还是比较多的,但是在使用时,会对resize()和reserve()的使用产生迷惑,现在就对这一情况做个对比:resize():改变的是size()与capacity()的大小(1)、比原来的变小之后,后面的会被截断(2)、比原来的变大之后,后面的会被填充新的东西,不同的编译器可能会不同。也可以自己指定后面填充的内容reserve():改变的只是...原创 2019-03-22 15:08:50 · 6667 阅读 · 2 评论 -
std::string的resize()与reserve()的区别
std::string的resize()与reserve()的区别:resize():改变的是size()与capacity()的大小(1)、比原来的变小之后,后面的会被截断(2)、比原来的变大之后,后面的会被填充新的东西,不同的编译器可能会不同reserve():改变的只是capacity()的大小程序如下:#include <math.h>#includ...原创 2019-03-21 13:46:16 · 3867 阅读 · 1 评论 -
bool与string互转
今天在工作中遇到了将string转换成bool类型数据,查阅了工具书解决了问题,现将注意要点总结如下:增加头文件:#include <sstream> 代码如下:在codeblocks软件上测试结果如下:使用者需要根据自己的实际情况,将string与bool互转,方法如上。...原创 2018-12-24 15:13:54 · 18567 阅读 · 0 评论 -
C++中的定位放置new(placement new)
转载:https://www.cnblogs.com/weekbo/p/8533368.html今天在使用new时,需要使用特定位置的一块内存,因此查了资料,发现该文章有帮助就现转载做一个备份。一般来说,使用new申请空间时,是从系统的“堆”(heap)中分配空间。申请所得的空间的位置时根据当时的内存的实际使用情况决定的。但是,在某些特殊情况下,可能需要在程序员指定的特定内存创建对象,这就...转载 2018-12-17 15:53:41 · 371 阅读 · 0 评论 -
vector中的reserve() 与 resize()
resize()与reserve()都是vector容器中的方法:resize():改变了capacity()和size()reserve():增加了vector的capacity(),但是它的size()没有改变#include <iostream>#include <stdio.h>#include <vector>#include<...原创 2018-12-11 09:57:28 · 5148 阅读 · 0 评论 -
C++ int转string以及源码
今天遇到一个int类型数据转换为string,查了资料在c++11标准中增加了全局函数std::to_string来实现该功能:string to_string (int val);string to_string (long val);string to_string (long long val);string to_string (unsigned val);string...原创 2018-12-26 14:45:08 · 3561 阅读 · 0 评论 -
string、char *、char []之间的相互转换
最近工作中遇到了string、char *、char []之间的相互转换,今天终于抽出时间将他们之间的转换记录下来,使用的是CodeBlocks软件,编译器为GNU GCC compiler,下面看代码:#include <iostream>#include <stdio.h>#include <string.h>#include <thread...原创 2018-10-10 10:17:23 · 366 阅读 · 0 评论 -
gtest使用例子
最近使用gtest进行单元测试,采用打桩的形式。关于gtest的详细说明就不多说了,网上的资料一大堆。主要讲解使用时的参数如何配置以及遇到的问题。下面的例子模拟是加、减、乘、除四则运算,前提是不知道加、减、乘、除四则运算是如何实现的。编译命令自己根据实际情况进行搭建#include <iostream>#include <vector>#include "gte...原创 2018-09-11 10:31:24 · 2823 阅读 · 0 评论