c++
WCLEndless
学海无涯
展开
-
Qt多进程共享内存
Qt提供了一种安全的共享内存的实现QSharedMemory,以便在多线程和多进程编程中安全的使用。 先说下实现共享内存的步骤,然后用一具体的实例说明。 (一)向共享内存中提供数据的一方: 1,定义QSharedMemory shareMemory,并设置标志名shareMemory.setKey(),例如shareMemory.setKey("shareimg"); 2,将共享内存与主进程分离shareMemory.detach(); 3,创建共享内存shareM...原创 2020-10-16 10:29:43 · 1212 阅读 · 0 评论 -
将一个字符串中的空格字符替换成另外一个字符串
将一个字符串中的一个空格替换成另外一个字符串,首先需要解决字符串长“%20”就需要每遇到一个空格字符就得增加两个长度,接下来就是遍历字符串,并且遇到空格就替换,可想而知,从前往后遍历比较麻烦繁琐,所以这里我选择从后往前遍历,具体代码如下:class Solution {public: void replaceSpace(char *str,int length) { int原创 2017-03-04 14:37:38 · 1411 阅读 · 0 评论 -
类模板、绑定器与参数推演
当我们执行一段代码时,如果有一个循环调用一个函数,那就有不断的函数栈贞的开辟与回退,就造成效率底下,在c++中我们可以用模板解决这个问题,模板在编译阶段就被确定。template<typename T>//二元比较器class Less{public: typedef T value_type; bool call(T a1,T a2) { return原创 2016-12-07 19:14:32 · 337 阅读 · 0 评论 -
类模板以及赋值运算符重载、拷贝构造函数
编译器默认的拷贝构造函数,是发生的浅拷贝,像指针的赋值就会让指针指向同一个地址空间,析构时就会对同一个地址空间释放两次,就会造成程序崩溃. 自定义在模板内的拷贝构造函数:Queue(const Queue<T> &src)//类对象的拷贝构造函数 { //Queue(); _pfirst = _prear = NULL; QueueItem*原创 2016-12-05 22:47:18 · 2045 阅读 · 0 评论 -
拷贝构造函数与赋值运算符的重载函数
#define _CRT_SECURE_NO_WARNINGS//#include<stdio.h>//#include<stdlib.h>#include<string.h>using namespace std;#include<iostream>#include<vld.h>class CGoods{public: CGoods(char *pname,int amou原创 2016-11-27 21:19:26 · 258 阅读 · 0 评论 -
C++对象生命周期
class Test{public: Test(int a = 5, int b = 5) // Test(); Test(10); Test(10, 10); { ma = a; mb = b; cout << "Test(int, int)" << " ma:" << ma << "mb:" << mb << endl;原创 2016-11-23 00:10:13 · 570 阅读 · 0 评论 -
虚函数与虚函数表剖析(动多态)
探索C++虚函数在g++中的实现本文是我在追查一个诡异core问题的过程中收获的一点心得,把公司项目相关的背景和特定条件去掉后,仅取其中通用的C++虚函数实现部分知识记录于此。在开始之前,原谅我先借用一张图黑一下C++:“无敌”的C++如果你也在写C++,请一定小心…至少,你要先有所了解: 当你在写虚函数的时候,g++在写什么?先写个例子为了探索C++虚函数的实现,我们...转载 2018-08-03 15:47:21 · 269 阅读 · 0 评论 -
三种继承方式的区别与联系
#include<iostream>using namespace std;class Base{public: void fun_1(){}protected: void fun_2(){}private: int x_;};class Derived :private Base{public: void fun_3() ...原创 2018-08-03 16:03:40 · 2124 阅读 · 0 评论