
C/C++
Aodongq1n丶
坐标:深圳
职业:从事云计算和互联网金融相关工作
WX:qpz2235440785
展开
-
KMP算法
#include <iostream>#include <cstring>int next[3] = {0};void getNext(const char* p){ int front = 1; int down = 0; int nCount = 0; next[0] = -1; int pl = strlen(p); while (front < pl) { std::cout <.原创 2020-08-19 20:49:35 · 129 阅读 · 0 评论 -
c++成员函数返回引用类型的坑
今天写了一段程序,发现了一个自己之前没有注意到的点。在此记录下#include <iostream>class Base{public: Base(int x) { this->m_x = x; } int& Getx() { return this->m_x; } void Setx(int x) { this->m_x = x; }private: i原创 2020-07-10 14:09:56 · 665 阅读 · 0 评论 -
一个jsoncpp使用的最小例子
jsoncpp,c++语言中解析json最常用的库了,以前都是在项目中直接用。但是今天突然想单拿出来使用下,怎么编译都过不了,报错内容如下:[root@node1 windows_share]# g++ jsoncpp_test.cc /tmp/ccAclhTh.o: In function `main':jsoncpp_test.cc:(.text+0x51): undefined reference to `Json::Reader::Reader()'jsoncpp_test.cc:(.t原创 2020-07-04 18:03:38 · 737 阅读 · 0 评论 -
grpc安装与第一个程序HelloWorld
安装全部采用源码方式安装安装cmake ,一般centos系统默认未2.8.12.2 但是实际运行程序最小要求3.5.1[root@VM_117_243_centos ~/grpc/examples/cpp/helloworld]# cmake .CMake Error at CMakeLists.txt:20 (cmake_minimum_required): CMake 3.5.1 or higher is required. You are running version 2.8.1原创 2020-05-16 21:24:53 · 964 阅读 · 0 评论 -
不定参数的函数实现方式
前言不定参数的函数实现,在c/c++里面,主要依靠<stdarg.h>里面的va_list,va_start,va_end。掌握了这三个内容的应用,基本可以写出不定参数的函数了举例void fun(const char* format,...){ char buf[4 + 1] = {0}; strncpy_s(buf, "info", 5); va_list x...原创 2020-02-10 11:43:12 · 305 阅读 · 0 评论 -
Windows数据类型,Windows程序字符集知识总结
此文章是根据如下文章和自己的思考总结归纳整理出来的:https://www.cnblogs.com/zhangdongsheng/archive/2011/08/16/2141513.htmlhttp://www.voidcn.com/article/p-chwlarat-hs.html字符集首先要知道通常Windows平台下的程序设计可以支持ANSI和UNICODE两种编码方法的...转载 2020-01-19 17:49:51 · 226 阅读 · 0 评论 -
#define BYTE char*和typedef char* BYTE有什么区别
直接贴代码了:例子#include <iostream>#define BYTE1 char*typedef char* BYTE2;int main(int argc ,char* argv[]){ BYTE1 a,b; BYTE2 c,d; std::cout << "sizeof(a)=" << sizeof(...原创 2020-01-19 16:06:07 · 503 阅读 · 0 评论 -
爬楼梯问题的2种解法(递归+记忆化搜索)
问题描述:一个楼梯有N节,每次只能走1步或者2步,请问走完N节楼梯有几种走法?解法:#include <stdio.h>//递归解法int fun1(int n){ if(n==1||n==2) return n; return fun1(n-1)+fun1(n-2);}//记忆化搜索解法int fun2(int n){...原创 2018-04-06 11:42:14 · 1136 阅读 · 0 评论 -
new和malloc的区别
new和malloc的区别,偶然看到了一处感觉整理的比较好,在这里记录下:第二点是内存分配成功的返回值,图片上写错了原创 2018-04-05 23:39:35 · 126 阅读 · 0 评论 -
如何判断大小端模式
什么是大端模式?什么是小端模式?大端模式:低地址存高字节,高地址存低字节小端模式:低地址存低字节,高地址存高字节判断代码:#include<iostream>using namespace std;typedef union Check{ int i; char ch; }Check;int main(void){ Check a; a.i = 1; if...原创 2018-04-17 19:56:35 · 753 阅读 · 0 评论 -
C++函数重载的一个小坑点
为了实现函数重载,C++编译器一般会采用名字改编的方式为每个重载的函数生成一个独一无二的名字,这样在链接的时候就能找到正确的重载版本,例如:int test(bool x){ return 1;}int test(int x){ return 100;}int main(void){ return 0;}查看重载后的函数名称:方法1:利用nm和...原创 2018-04-03 09:32:24 · 211 阅读 · 0 评论 -
到底能不能用指针作为拷贝构造函数的参数?这篇文章为你揭晓!
1、问题一:拷贝构造函数的形参是否可以是值传递,为什么?#include<iostream>using namespace std;class A{public: A() { cout << "in constructor" << endl; } A(A test) { this->a = test.a; cout &...原创 2018-04-02 20:52:41 · 3307 阅读 · 9 评论 -
C++命名空间的使用
实例一:#include <iostream>using namespace std;//命名空间(namespace)//命令空间管理工程模块,解决模块中出现同名类名或函数名//自定义命名空间//namespace 命名空间名namespace S1{ class A { public: void fun1() { co...原创 2018-04-02 15:51:10 · 368 阅读 · 0 评论 -
中缀表达式转化为后缀表达式
题目:中缀表达式转化为后缀表达式例如:1+(2-3)*4+7/5 -----> 123-4*+75/+思路分析:1、首先要清楚中缀表达式转化我后缀表达式的规则:1)遇到数字输出,否则进栈。2)遇到有右括号匹配栈里的左括号,输出栈里的内容3)遇到比自己比栈里的运算符优先级高,入栈4)遇到比自己比栈里的运算符优先级低,将栈里的运算符出栈代码#include <i...原创 2018-04-02 11:01:23 · 398 阅读 · 1 评论 -
用C语言实现说谎问题的推理题
题目介绍:A说B说谎,B说C说谎,C说A,B都在说谎,编程说明,谁在说谎话,谁在说真话解法:#include <stdio.h>//A说B说谎,B说C说谎,C说A,B都在说谎,编程说明,谁在说谎话,谁在说真话int main(int argc, char *argv[]){ int a,b,c; for(a=0;a<=1;a++) { for(b=0;b<=...原创 2018-04-01 17:50:01 · 3498 阅读 · 0 评论 -
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
前几天在牛客网上面做了这道题,以前曾经看过这道题目的优化算法,但是限制的条件没有这么多,可能人们先想到这道题,都是会用for,while这样的循环来做,这样的做法就是最一般的做法。那次看这道题目时,那篇文章的作者是想告诉读者,如果可以采用公式的话,尽量采用公式,所以我理所当然的采用了高斯公式求解,我擦,在线提交竟然通过了,高斯公式的答案就是:sum=(1+n)*n/2,但是这样的做法使用了乘除,不原创 2015-06-14 14:24:11 · 767 阅读 · 0 评论 -
如何不用比较符号比较2个数的大小
方法一 int flip(int a) { return a^1; } int sign(int a) { //正数和0返回1,负数返回0 reiturn ((a>>31)+1); } int getmax(int a,int b) { int c =原创 2018-01-13 22:56:16 · 994 阅读 · 0 评论 -
char[] 未指定数组大小引发的错误
剑指offer上面的一道题目,不难,甚至可以说是简单的。但是就是因为一处隐蔽的错误让我晚睡了半个多小时,今天发生这个而错误的原因分享给大家,希望大家不要犯跟我相同的错误。题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。#include#includeu原创 2015-07-15 14:48:11 · 1162 阅读 · 0 评论 -
利用动态内存分配创建一个二维数组
刚刚学习C/C++的时候,这个问题一直困扰这我,但是随着学习的深入,我渐渐原创 2015-06-12 15:44:41 · 1020 阅读 · 1 评论