c/c++
yayapoi~
这个作者很懒,什么都没留下…
展开
-
工厂模式 使用全局变量自己注册
使用工厂模式时,需要将类注册进工厂里,看到一种新的奇技淫巧,使用静态变量来将类注册进工厂。原创 2024-06-05 14:32:02 · 202 阅读 · 0 评论 -
c++单例模式的一种写法
c++单例模式原创 2024-07-05 10:13:58 · 392 阅读 · 0 评论 -
C++标准库
C++标准库的所有头文件都没有扩展名。http://cplusplus.com/reference/C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能。<cname>形式的标准头文件【<complex>例外】其内容与ISO标准C包含的name.h头文件相同,但容纳了C++扩展的功能。在<cname>形式标准的头文件中,与宏相关的名称在全局作用域中定义,其他名称在std命名空间中声明。在C++中还可以使用name.h形式的标准C库..转载 2020-12-24 15:18:32 · 349 阅读 · 0 评论 -
FTP 文件夹错误
登录ftp时候出现这个问题。是因为ip改变的原因。输入iis,打开管理器。选中自己的ftp服务器。右键点击来到“高级设置”。我这里可以看到和我的ip是不同的。右键点击来到“编辑绑定”。在这里改正ip就解决了。...原创 2020-09-02 16:28:42 · 6269 阅读 · 1 评论 -
qt vs 中文乱码
QString显示中文乱码的原因:Qt5中QString内部采用unicode字符集,utf-16编码。构造函数QString::QString(const char *str)默认使用fromUtf8()将str所指的执行字符集从utf-8转码成utf-16。由上面fromUtf8()可知,QString需要执行字符集编码为utf-8,然后以utf-8进行解码,再编码为utf-16才能获得正确的字符编码。显示中文乱码的原因其实就QString转码方式与执行字符集不一致。(比如,源字符集为本地字符集G原创 2020-08-27 17:08:27 · 3900 阅读 · 3 评论 -
MAC地址远程开机
一、设置关机模式下,BIOS的电源管理菜单下有Remote Wake Up或Wake on LAN等类似选项的电脑才支持远程开机,若无此选项则不支持远程开机。(假如Remote Wake Up开启后不支持远程开机,请咨询硬件提供商)。1、进入BIOS当电脑开机启动时,通过反复按键盘“DELETE”键或“F2”键,进入到主板BIOS设置界面。更多启动主板BIOS设置界面帮助,参考百度。2、开启唤醒功能通常到“Power Managment(电源管理)”下寻找如下列选项:"Boot on原创 2020-05-24 15:19:54 · 8259 阅读 · 0 评论 -
虚函数 多种方式调用
class A { public: virtual void print() { cout << "A::print()" <<endl;} }; class B: public A { public: virtual void print() { cout << "B::print()...原创 2019-12-19 11:48:39 · 167 阅读 · 0 评论 -
开机自启动 路径错误 找不到文件
开机自启动:修改了注册表 HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run 。但是开机自启动后 找不到指定路径的 文件。最后发现是 路径问题。我当时使用的是 QT 的取路径函数:QDir::currentPath()这个是取 exe 所在的文件夹。可能自启时候 exe 的文件夹路径会改变。...原创 2019-12-05 10:10:58 · 1463 阅读 · 0 评论 -
C++头文件和std命名空间
C++是在C语言的基础上开发的,早期的 C++ 还不完善,不支持命名空间,没有自己的编译器,而是将 C++ 代码翻译成C代码,再通过C编译器完成编译。这个时候的 C++ 仍然在使用C语言的库,stdio.h、stdlib.h、string.h 等头文件依然有效;此外 C++ 也开发了一些新的库,增加了自己的头文件,例如:iostream.h:用于控制台输入输出头文件。 fstream.h:...转载 2019-11-07 11:46:21 · 1642 阅读 · 0 评论 -
回调函数
一、回调函数作为类成员函数,使用类成员//函数指针,定义一个函数指针的原型,名称为:lpFunc,三个参数:void指针,char *,inttypedef void(*lpFunc)(void *,char *,int);//调用回调函数的宿主函数,参数callback是原型名称为lpFunc的函数指针void GetCallBack(void *lpVoid,lpFunc cal...原创 2019-09-30 10:03:16 · 216 阅读 · 0 评论 -
Uincode ASCLL UTF-8
1.ASCII我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统...转载 2019-09-19 13:57:41 · 204 阅读 · 0 评论 -
qt linux c ini
qt ini#include <QSettings>#include <QtDebug>#include<QDir>#include<QTime>// 使用C中的 头文件extern "C"{ #include <sys/stat.h>}qDebug()<<"current currentPat...转载 2019-09-11 12:26:01 · 163 阅读 · 0 评论 -
类的内存分配
#include<iostream>using namespace std;class classA { private: intA; intB; voidprin1() {} voidprin2() {} virtualvoid prin3() { }}; class ClassB : pu...转载 2019-08-21 11:37:49 · 1174 阅读 · 0 评论 -
new和 不new 区别
当然这都是跟new的用法有关的。new创建类对象,使用完后需使用delete删除,跟申请内存类似。所以,new有时候又不太适合,比如在频繁调用场合,使用局部new类对象就不是个好选择,使用全局类对象或一个经过初始化的全局类指针似乎更加高效。内存的分配方式有三种(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。(2...原创 2019-08-21 11:28:19 · 2925 阅读 · 1 评论