自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 【Tips】深入理解C++11

【Tips】深入理解C++11@

2020-03-30 22:28:10 57

原创 【Tips】C++语言程序设计

##【Tips】C++语言程序设计

2020-03-30 21:57:05 52

原创 题目和代码

@ 声明一个指向含有10个元素的数组的指针,其中每个元素是一个函数指针,该函数的返回值是int,参数是int*,正确的是(C)(int *p[10])(int*)int [10]*p(int *)int (*(*p)[10])(int *)int ((int *)[10])*p@ 下述程序的输出是______。#include<stdio.h> int main()...

2020-03-25 22:04:30 63

原创 C语言中的未定义行为(Undefined Behavior)

C语言中的未定义行为(Undefined Behavior)C语言中的未定义行为(Undefined Behavior)是指C语言标准未做规定的行为。同时,标准也从没要求编译器判断未定义行为,所以这些行为有编译器自行处理,在不同的编译器可能会产生不同的结果,又或者如果程序调用未定义的行为,可能会成功编译,甚至一开始运行时没有错误,只会在另一个系统上,甚至是在另一个日期运行失败。当一个未定义行为的...

2019-10-26 11:09:09 178

原创 【专业技术】C++ RTTI

RTTIRTTI(Run-Time Type Information)运行时类型检查的英文缩写,它提供了运行时确定对象类型的方法。面向对象的编程语言,象C++,Java,delphi都提供了对RTTI的支持。 本文将简略介绍 RTTI 的一些背景知识、描述 RTTI 的概念,并通过具体例子和代码介绍什么时候使用以及如何使用 RTTI;本文还将详细描述两个重要的 RTTI 运算符的使用方法,它们是...

2019-10-19 20:58:32 48

原创 C++ 虚函数表剖析

一、概述为了实现C++的多态,C++使用了一种动态绑定的技术。这个技术的核心是虚函数表(下文简称虚表)。本文介绍虚函数表是如何实现动态绑定的。二、类的虚表每个包含了虚函数的类都包含一个虚表。我们知道,当一个类(A)继承另一个类(B)时,类A会继承类B的函数的调用权。所以如果一个基类包含了虚函数,那么其继承类也可调用这些虚函数,换句话说,一个类继承了包含虚函数的基类,那么这个类也拥有自己的虚...

2019-10-13 17:33:20 41

原创 深入理解C++11【3】

深入理解C++11【3】【深入理解C++11【3】】1、POD类型Plain Old Data. Plain 表示 了POD是个普通的类型。C++11将POD划分为两个基本概念的合集:1)平凡的(trivial)2)标准布局的(standard layout)一个平凡的类或结构体应该符合以下定义:1)拥有平凡的默认构造函数(trivial constructor)和析构函数(triv...

2019-07-13 12:06:56 61

原创 深入理解C++11(5)

深入理解C++11(5)【深入理解C++11【5】】1、原子操作与C++11原子类型C++98 中的原子操作、mutex、pthread:复制代码#include<pthread.h>#include <iostream>using namespace std;static long long total = 0;pthread_mutex_t m = P...

2019-07-13 11:57:39 210

原创 深入理解C++11(2)

【深入理解C++11(2)】【深入理解C++11【2】】1、继承构造函数。当基类拥有多个构造函数的时候,子类不得不一一实现。C++98 可以使用 using 来使用基类的成员函数。复制代码#include < iostream> using namespace std; struct Base { void f( double i){ cout...

2019-07-13 11:31:43 49

原创 深入理解C++11(1)

【深入理解C++11(1)】【深入理解C++11】1、很多 现实 的 编译器 都 支持 C99 标准 中的__ func__ 预定 义 标识符 功能, 其 基本 功能 就是 返回 所在 函数 的 名字。编译器 会 隐式 地 在 函数 的 定义 之后 定义__ func__ 标识符。const char* hello() { static const char* __func__...

2019-07-13 11:19:36 186

原创 深入理解C++11(4)

【深入理解C++11(4)】【深入理解C++11【4】】1、基于范围的 for 循环C++98 中需要告诉编译器循环体界面范围。如for,或stl 中的for_each:复制代码int main() { int arr[ 5] = { 1, 2, 3, 4, 5}; int * p; for (p = arr; p < arr + sizeof( a...

2019-07-13 11:11:17 90

原创 LeetCode-1两数之和

LeetCode-1两数之和题目给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum著作权归领扣网络所有。商业转载请联系官...

2019-06-16 20:34:50 38

原创 服务器开发需要的知识提纲

服务器开发需要的知识提纲参考文章:https://blog.csdn.net/czwtczwt/article/details/51102373?utm_source=blogxgwz15linux和os:netstat tcpdump ipcs ipcrm (如果这四个命令没听说过或者不能熟练使用,基本上可以回家,通过的概率较小 _ ,这四个命令的熟练掌握程度基本上能体现面试者实际开发和调...

2018-10-17 21:07:10 215

原创 一道C++面试题 2018年9月26日

一道C++面试题–以前未见过的语法格式 2018年9月26日#include <iostream>using namespace std;class A {public: void func() = delete;};int main() { return 0;}

2018-09-26 18:56:40 99

原创 谈谈Linux中gdb调试线程死锁

谈谈Linux中gdb调试死锁参考文献:1、https://blog.csdn.net/guowenyan001/article/details/462383552、https://blog.csdn.net/stpeace/article/details/664737973、https://blog.csdn.net/atinybirdinit/article/details/41550...

2018-09-18 21:35:31 526

原创 Linux中一些简单的多线程gdb调试方法

Linux中一些简单的多线程gdb调试方法先介绍一下GDB多线程调试的基本命令。info threads显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。thread ID切换当前调试的线程为指定ID的线程。break thread_test.c:123 thread all在所有线程中相应的行上设置断点...

2018-09-18 20:46:09 182

原创 测试markdown语法

测试 欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的...

2018-09-18 20:08:07 72

原创 【编程题】 Count Primes(计算n以内素数个数:高效算法)

【编程题】 Count Primes(计算n以内素数个数:高效算法)代码:class Solution {public: int countPrimes(int n) { if(!n||n==1) return 0; vector<bool> isPrime(n,true); // Loop's ending co...

2018-09-12 19:45:01 1145

原创 求解:前缀表达式、后缀表达式

求解:前缀表达式、后缀表达式这里我给出一个中缀表达式:a+b*c-(d+e) 第一步:按照运算符的优先级对所有的运算单位加括号:式子变成了:((a+(b*c))-(d+e)) 第二步:转换前缀与后缀表达式 前缀:把运算符号移动到对应的括号前面 则变成了:-( +(a *(bc)) +(de)) 把括号去掉:-+a*bc+de 前缀式子出现 后缀:把运算符号移动到对应的括号后面 则...

2018-09-11 17:49:32 345

原创 进程间的五种通信方式介绍

进程间的五种通信方式介绍以下文章很好,有例子代码。参考文章:https://blog.csdn.net/wh_sjc/article/details/70283843

2018-09-07 11:01:55 415

原创 谈谈C++中map的[]和insert

谈谈C++中map的[]和insert一、测试代码#include <iostream>#include <map>#include <utility>using namespace std;class Sample{ static int _noOfObjects; int _objectNo;public: ...

2018-09-04 10:39:59 2242

原创 strcpy/strlen/strcat/strcmp的实现

strcpy/strlen/strcat/strcmp的实现一、字符串拷贝strcpy函数strcpy的原型是char* strcpy(char* des , const char* src),des 和 src 所指内存区域不可以重叠且 des 必须有足够的空间来容纳 src 的字符串。#include <assert.h>#include <stdio.h&...

2018-09-03 10:08:25 104

原创 单例模式C++实现

单例模式和工厂模式C++实现参考文章: 1、https://blog.csdn.net/ygm_linux/article/details/50819668 2、https://blog.csdn.net/linwh8/article/details/512328341、单例模式(懒汉式)class Singleton {private: Singleton() ...

2018-09-02 09:08:13 151

原创 【编程题】约瑟夫环问题

【编程题】约瑟夫环问题代码1,非递归class Solution {public: int LastRemaining_Solution(int n, int m) { if(n==0) return -1; int s=0; for(int i=2;i<=n;i++){ s=(s+m)...

2018-08-27 16:56:09 548

转载 僵尸进程和孤儿进程【转】

僵尸进程和孤儿进程【转】参考资料:https://www.cnblogs.com/Anker/p/3271773.html

2018-08-27 11:43:02 97

原创 派生类的内存大小(sizeof)举例

派生类的内存大小(sizeof)举例代码:#include <iostream>using namespace std;class A {public: virtual void func1() {}};class B {public: virtual void func2() {}};class C : public A, public

2018-08-26 18:35:06 380

原创 C++菱形继承内存布局的探索

C++菱形继承的探索参考文章: 1、https://blog.csdn.net/haoel/article/details/3081328 2、https://blog.csdn.net/castle_kao/article/details/71024411实验1:运行环境: ubuntu16.04,g++5.4.0 代码:#include <iostream&a

2018-08-26 10:44:59 1053

原创 C++关于虚析构函数例子

C++关于虚析构函数例子代码:#include <iostream>using namespace std;class Base {public: Base() { cout << "Base()" << endl; } virtual ~Base() { cout << "...

2018-08-23 11:15:27 176

原创 C++之关于mutable

C++之关于mutable代码:#include <iostream>using namespace std;class A {public: A() : a(0) {} void func() const { a = 3; }private: mutable int a;};int main() { ...

2018-08-23 11:01:52 118

原创 STL中不同容器的删除操作

STL中不同容器的删除操作参考资料:effective STL说明/* 说明: 1、对于顺序容器,如vector、deque和string等,删除操作应该用如下形式: vec.erase(remove(vec.begin(), vec.end(), 5), vec.end()); 2、对于list,上述1的方法也可以,但是效率的话,应该使用如下形式: ali...

2018-08-22 16:23:25 118

原创 vector定义与初始化的巧妙用法

vector定义与初始化的巧妙用法例子1:代码:#include <iostream>#include <vector>using namespace std;int main() { vector<int> mat[8](vector<int>(3)); for(int i = 0;i &amp

2018-08-21 13:25:05 788

原创 【编程题】寻找重复次数最多的数

【编程题】Find the maximum repeating number in O(n) time and O(1) extra space我的代码:// C++ program to find the maximum repeating number#include<iostream>using namespace std;// Returns maximu...

2018-08-21 12:35:57 515

原创 桶排序

桶排序我的代码:// C++ program to sort an array using bucket sort#include <iostream>#include <algorithm>#include <vector>using namespace std;// Function to sort arr[] of size n...

2018-08-21 12:05:15 87

原创 希尔排序

希尔排序我的代码:#include <iostream>using namespace std;void shell_sort(int a[], int len) { for(int h = len/2;h > 0;h /= 2) { for(int i = h;i < len;i++) { int tmp...

2018-08-21 12:02:42 66

原创 归并排序

归并排序我的代码://merge_sort.cpp#include <iostream>using namespace std;void merge(int a[], int low, int mid, int high) { int n1 = mid-low+1, n2 = high-mid; int left[n1], right[n2]; ...

2018-08-21 11:58:30 102

原创 【编程题】动态规划:最长公共子串

【编程题】动态规划:最长公共子串题目描述对于两个字符串,请设计一个时间复杂度为O(m*n)的算法(这里的m和n为两串的长度),求出两串的最长公共子串的长度。这里的最长公共子串的定义为两个序列U1,U2,..Un和V1,V2,…Vn,其中Ui + 1 == Ui+1,Vi + 1 == Vi+1,同时Ui == Vi。给定两个字符串A和B,同时给定两串的长度n和m。测试样例:...

2018-08-20 19:33:02 211

原创 【问题记录】二维数组初始化

【问题记录】二维数组初始化代码:#include <iostream>using namespace std;int main() { int m = 3, n = 4; int a[m][n] = {0}; return 0;}环境:linux,g++现象:m和n的数值改变未随机数。...

2018-08-20 18:47:44 106

原创 【编程题】动态规划:最长公共子序列

【编程题】动态规划:最长公共子串题目要求:对于两个字符串,请设计一个高效算法,求他们的最长公共子序列的长度,这里的最长公共子序列定义为有两个序列U1,U2,U3…Un和V1,V2,V3…Vn,其中Ui&ltUi+1,Vi&ltVi+1。且A[Ui] == B[Vi]。给定两个字符串A和B,同时给定两个串的长度n和m,请返回最长公共子序列的长度。保证两串长度均小于等于...

2018-08-20 18:26:30 230

原创 ffmpeg命令的一些应用场景

ffmpeg命令的一些应用场景待编辑

2018-08-16 22:56:29 430

原创 C++四种智能指针梳理

C++四种智能指针梳理参考资料 1、C++智能指针梳理 https://blog.csdn.net/shuishanga/article/details/52982102 2、C++智能指针简单剖析 http://www.cnblogs.com/lanxuezaipiao/p/4132096.html...

2018-08-16 22:33:20 955

提示
确定要删除当前文章?
取消 删除