
c++
文章平均质量分 53
齐_天_大_圣
格物穷理
展开
-
C++回调函数概念
C++回调函数(callback)的使用什么是回调函数(callback)模块A有一个函数foo,它向模块B传递foo的地址,然后在B里面发生某种事件(event)时,通过从A里面传递过来的foo的地址调用foo,通知A发生了什么事情,让A作出相应反应。 那么我们就把foo称为回调函数。其实回调就是一种利用函数指针进行函数调用的过程.为什么要用回调呢?比如我要写一个子模块给你用, 来接收远程socket发来的命令.当我接收到命令后, 需要调用你的主模块的函数, 来进行相应的处理.但是我不知道你要用哪原创 2021-03-30 20:59:05 · 199 阅读 · 0 评论 -
c++ 面试题2
1、2、下列代码的输出是?(注:print已经声明过)main(){ char str[]="Geneius"; print (str);} print(char *s){ if(*s){ print(++s); printf("%c",*s); // suiene}}printf (\0) 应该输出空格;3、把一个字符串倒序,如“abcd”倒序后变为“dcba”。int main() { char *s原创 2021-03-29 21:46:14 · 339 阅读 · 0 评论 -
c++知识点文章
目录C++类中的静态成员变量和静态成员函数的作用C++类中的静态成员变量和静态成员函数的作用https://blog.youkuaiyun.com/u011391093/article/details/43309307原创 2021-03-27 22:42:03 · 154 阅读 · 0 评论 -
C++ 友元函数
概述类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数。友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类,在这种情况下,整个类及其所有成员都是友元。如果要声明函数为一个类的友元,需要在类定义中该函数原型前使用关键字 friend,如下所示:#include <iostream>using namespace std;class B原创 2021-03-27 21:33:48 · 185 阅读 · 0 评论 -
c++ 强制类型转换
1.static_cast:用于非多态类型转换(静态转换),任何标准转换都可以用它,但是不能用于两个不相关的类型转换。2.reinterpret_cast:将一种类型转换为另一种不同的类型。3.const_cast:删除变量const的属性,方便赋值4.dynamic_cast:用于将一个父类对象的指针转换为子类对象的指针或引用。(动态交换)static_cast int i = 10; double b = static_cast<double>(i); cout <<原创 2021-03-24 11:48:58 · 428 阅读 · 0 评论 -
排序算法
目录冒泡排序鸡尾酒排序,也叫定向冒泡排序选择排序插入排序二分插入排序希尔排序归并排序堆排序快速排序冒泡排序#include <stdio.h>// 分类 -------------- 内部比较排序// 数据结构 ---------- 数组// 最差时间复杂度 ---- O(n^2)// 最优时间复杂度 ---- 如果能在内部循环第一次运行时,使用一个旗标来表示有无需要交换的可能,可以把最优时间复杂度降低到O(n)// 平均时间复杂度 ---- O(n^2)// 所需辅助空间原创 2021-03-22 12:07:02 · 111 阅读 · 0 评论 -
算法题
目录1.实现strcpy.2.实现strcat.链接字符3.实现CString字符串类缺省四个方法4.不使用第三个变量交换两个数的值5.实现一个将字符串逆序的方法 (轴对称两两置换)6.C语言中字符串转数字的方法是什么( atoi ),请实现它 (倒叙算差值,求累加值)7.实现一个将字符串中所有字母转换为大写的方法8.已知一个数组已经降序排序请用二分查字法找到其中的某个元素找到返回索引否则返回-19.删除链表中值为Value的所有元素( [Head]->[node1]->[node2]-&原创 2021-03-22 11:02:04 · 562 阅读 · 0 评论 -
c++ 算法题
参考https://blog.youkuaiyun.com/tqy19921202/article/details/80763564实现strcpy#include <iostream>using namespace std;char* MyStrCpy(char *pDest,const char *pSrc){ if(nullptr == pDest || nullptr == pSrc) { return nullptr; } if(pDest == pSrc)原创 2021-03-17 23:32:21 · 190 阅读 · 0 评论 -
c++11特性
初始化列表 Initializer Liststd::vector<int> v = { 1, 2, 3 };std::list<int> l = { 1, 2, 3 };std::set<int> s = { 1, 2, 3 };std::map<int, std::string> m = { {1, "a"}, {2, "b"} };类型推导 Auto Typeauto i = 1; // intauto d = 1.1;转载 2021-03-15 23:50:33 · 222 阅读 · 0 评论 -
TCP、UDP的区别
TCP 和 UDP 的区别TCP 是面向连接的,UDP 是面向无连接的UDP程序结构较简单TCP 是面向字节流的,UDP 是基于数据报的TCP 保证数据正确性,UDP 可能丢包TCP 保证数据顺序,UDP 不保证什么是面向连接,什么是面向无连接在互通之前,面向连接的协议会先建立连接,如 TCP 有三次握手,而 UDP 不会TCP 为什么是可靠连接通过 TCP 连接传输的数据无差错...原创 2019-08-26 23:50:00 · 166 阅读 · 0 评论 -
c++ const 转 非const
#include "mainwindow.h"#include <QApplication>#include <QtDebug>void fun(const int * temp){ int *p = const_cast<int *>(temp);//const 转 非const *p = 22;}int main(in...原创 2019-08-20 19:57:54 · 8885 阅读 · 5 评论 -
空类、空结构体占多少字节
#include "mainwindow.h"#include <QApplication>#include <QtDebug>struct STR{};class Test{public: Test() {}};int main(int argc, char *argv[]){ QApplication a(argc, argv...原创 2019-08-20 13:47:41 · 1520 阅读 · 0 评论 -
C++中一些容易混淆的概念
文章目录指针函数和函数指针typedef和define区别指针常量和常量指针指针函数和函数指针指针函数:是指带指针的函数,本身是函数,只是返回值是某一个类型的指针。int *fun(int x);函数指针:指向函数的指针变量,即本质是一个指针变量。int (*fun)(int x);void (*fun)();//定义函数指针void test();int main(){ ...原创 2018-11-15 23:11:08 · 404 阅读 · 0 评论 -
C++基础概念
类和对象的特性C++是面向对象的(object oriented programming—OOP)。强调对象,由对象实施动作。C是面向过程的(procedure oriented programming—POP)。强调执行的过程。参考:https://blog.youkuaiyun.com/Grace_1203/article/details/79502075对象:由属性和行为构成c++ 四大特性...原创 2018-11-19 21:13:09 · 730 阅读 · 0 评论 -
c++实现句子翻转
c++实现句子翻转 例如:are you ok ! => ! ok you are#include <stdio.h>#include <iostream>#include <stdlib.h>#include <string.h>using namespace std;string fun(string str){ string temp;原创 2017-10-11 13:57:25 · 2422 阅读 · 0 评论 -
C++中的静态绑定和动态绑定
静态类型:对象在声明时采用的类型,在编译期既已确定;动态类型:通常是指一个指针或引用目前所指对象的类型,是在运行期决定的;静态绑定:绑定的是静态类型,所对应的函数或属性依赖于对象的静态类型,发生在编译期;动态绑定:绑定的是动态类型,所对应的函数或属性依赖于对象的动态类型,发生在运行期;1、class B{public: void vfun(int i=10) { ...原创 2019-02-14 16:32:14 · 689 阅读 · 0 评论 -
static关键字
1、定义局部变量会被初始化为0或者为空。作用域跟局部变量一样,但是static类型分配在静态存储区,在程序整个运行期间都不释放。下次调用时,还是上次最后的值。2、外部静态变量/函数用来表示不能被其它文件访问的全局变量和函数。3、静态数据成员/成员函数静态数据成员实际上是类域中的全局变量。所以,静态数据成员的定义(初始化)不应该被放在头文件中。其定义方式与全局变量相同。静态数据成员被类的...原创 2019-02-27 23:12:35 · 120 阅读 · 0 评论 -
const_cast、reinterpret_cast、static_cast、dynamic_cast的使用
const Test *p = new Test(10); Test *a = const_cast<Test *>(p);//const_cast一般用于强制消除对象的常量性 int i; char *c = "This is an example."; i = reinterpret_cast<int>(c);//i的值为421...原创 2019-02-13 11:35:29 · 134 阅读 · 0 评论 -
关于错误信息:cannot call member function ' ' without object
1、#include "mainwindow.h"#include <QApplication>#include <QtDebug>class Test{public: void test1(){qDebug() << "test1";} void test2()const{qDebug() << "test2";} ...原创 2019-05-30 12:02:04 · 50537 阅读 · 2 评论 -
vs c++ 显示加载dll
1、创建dllDll4.h#ifdef DLL4_API#define DLL4_API _declspec(dllexport)#else#define DLL4_API _declspec(dllimport)#endifextern "C" DLL4_API int add(int, int);Dll4.cpp#include "stdafx.h"#include...原创 2019-06-21 16:14:19 · 974 阅读 · 0 评论 -
浅谈引用和指针的区别
引用和指针的区别1、不存在空引用。引用必须连接到一块合法的内存。 2、一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可 以在任何时候指向到另一个对象。 3、引用必须在创建时被初始化。指针可以在任何时间被初始化。下面用代码来说明一下#include <stdio.h>#include <tchar.h>#include <iostream>原创 2016-04-16 16:36:06 · 327 阅读 · 0 评论