![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 56
TalkU浩克
Loyal to the soul
展开
-
C++ 小知识点总结
1. ->通过指针调用指向对象的成员(函数)。a->b 等价于 (*a).b。原创 2016-01-05 10:52:44 · 356 阅读 · 0 评论 -
C\C++三级指针作为形参
二级指针和三级指针作为形参的具体应用: 二级指针作为形参时,内存分配在函数外进行。函数内只需要进行相关操作;三级指针作为形参时,可以在函数内分配空间。三级指针作为形参代码:int skinDetect(unsigned char *frame, int _width, int _height, Rect*** ppp_rect ,int *skin_size){ int width = ...原创 2018-03-26 17:57:16 · 1412 阅读 · 0 评论 -
C/C++查找排序算法
对二分法查找、归并排序、快排做下代码总结:参考//二分查找非递归int binary_find(int *arr, int left, int right, int element_find) { while (left <= right) { //int mid = (left + right) / 2; //left + right 可能溢出 int mid = left...原创 2018-04-01 11:11:23 · 840 阅读 · 0 评论 -
C/C++读取.ini的配置文件
记录一下,读取.ini配置文件的方法。实际中,一般先获得当前程序所在路径(或者放在特定的配置文件目录)GetModuleFileName解释下这句:strrchr(cfgpath, '\\')[0] = '\0';strrchr(cfgpath, '\\')返回路径中'\'最后出现的位置,strrchr(cfgpath, '\\')[0]则把该位置改为'\0'。之后strcat后,就得到了配置文...原创 2018-03-18 10:42:20 · 2589 阅读 · 0 评论 -
LPTSTR、LPCSTR、LPCTSTR、LPSTR的来源及意义
原文地址UNICODE:它是用两个字节表示一个字符的方法。比如字符'A'在ASCII下面是一个字符,可'A'在UNICODE下面是两个字符,高字符用0填充,而且汉字'程'在ASCII下面是两个字节,而在UNICODE下仍旧是两个字节。UNICODE的用处就是定长表示世界文字,据统计,用两个字节可以编码现存的所有文字而没有二义。 MBCS,它是多字节字符集,它是不定长转载 2017-09-11 18:01:29 · 307 阅读 · 0 评论 -
*c[];**cp[]和*cpp题目详解
又是一道笔试题,看着就蛋疼,做着做着就懵逼了,虽然没做对,但试着解释下,下次不能在错了!题目: char *c[] = {"Hello","New","World","SAYHi"}; char **cp[] = {c+3,c+2,c+1,c}; char ***cpp = cp; cout << **++cpp << endl; cout << *--*++cpp +原创 2016-09-12 19:17:05 · 1020 阅读 · 0 评论 -
包含类的dll创建与调用
之前没有做过包含类的dll的相关代码。第一次做,还是遇到很多问题,在此记录一下。犯的错误:没有定义接口类刚开始没有定义虚基类为接口类,导致编译时报错,无法解析XXXXX。正确做法:首先定义一个接口类,注意,析构函数为虚函数,其他方法为纯虚函数。class NVGpuMon{public: virtual ~NVGpuMon(void){}; NVGpuMon(voi原创 2017-09-26 11:45:22 · 1089 阅读 · 0 评论 -
(笔记)涉及到的WinAPI函数
WSAStartup即WSA(Windows Sockets Asynchronous,Windows异步套接字)的启动命令。是Windows下的网络编程接口软件Winsock1 或 Winsock2 里面的一个命令(Ps:Winsock 是由Unix下的BSD Socket发展而来,是一个与网络协议无关的编程接口)。WSAStartup必须是应用程序或DLL调用的第一个Windo原创 2017-08-02 14:52:59 · 562 阅读 · 0 评论 -
char*,const char*和string 三者转换
原文1. const char* 和string 转换(1) const char*转换为 string,直接赋值即可。 EX: const char* tmp = "tsinghua". string s = tmp;(2) string转换为const char*,利用c_str() EX: string转载 2017-06-22 11:24:12 · 330 阅读 · 0 评论 -
(个人总结)C++中int类型与String类型的相互转换
最近经常用到两种类型的相互转换,从网上找了一些,汇总一下,以备不时之需。int类型转换为String类型方法一:利用sprintf#include #include int main(){ int n = 123; char t[256]; sprintf(t, "%d", n); std::string s(t); std原创 2017-05-16 16:38:16 · 1799 阅读 · 0 评论 -
string和stringstream用法总结
一、stringstring 是 C++ 提供的字串型態,和 C 的字串相比,除了有不限长度的优点外,还有其他许多方便的功能。要使用 string, 必須先加入这一行:#include 接下來要宣告一个字串变量,可以写成:string s;我们也可以在宣告的同时让它设成某个字串:string s="TCGS";而要取得其中某一個字元,和传统C 的字串转载 2017-04-07 11:54:22 · 1034 阅读 · 0 评论 -
c++内存泄漏和溢出
内存泄漏的几种情况:1. 在类的构造函数和析构函数中没有匹配的调用new和delete函数两种情况下会出现这种内存泄露:一是在堆里创建了对象占用了内存,但是没有显示地释放对象占用的内存;二是在类的构造函数中动态的分配了内存,但是在析构函数中没有释放内存或者没有正确的释放内存2. 没有正确地清除嵌套的对象指针3. 在释放对象数组时在delete中没有使用方括号方括号是转载 2016-10-14 10:09:29 · 3835 阅读 · 0 评论 -
stl算法概括总结
STL算法部分主要由头文件,,组成。要使用 STL中的算法函数必须包含头文件,对于数值算法须包含,中则定义了一些模板类,用来声明函数对象。 STL中算法大致分为四类: 1、非可变序列算法:指不直接修改其所操作的容器内容的算法。 2、可变序列算法:指可以修改它们所操作的容器内容的算法。 3、排序算法:包括对序列进行排序和合并的算法、搜索转载 2016-09-19 18:19:55 · 489 阅读 · 0 评论 -
union嵌套struct
笔试遇到一个选择题,有点晕,现在记录下:union data{ struct { int x, y; }s; int x, y; }d; d.x = 1; d.y = 2; d.s.x = d.x*d.x; d.s.y = d.y+d.y; cout 输出的结果是多少?整个过程:个人理解:在The C Prog原创 2016-09-12 17:44:22 · 8739 阅读 · 3 评论 -
C++进程通信实现-----WM_COPYDATA消息
工作中碰到了32位dll和64位dll通信问题,上网搜索了相关的问题,发现最简单的实现方式就是利用WM_COPYDATA消息传递,很多博客给出了实现代码,但大部分都是发送端C++,接收端C#或MFC。本文给出自己实现的简单例子,发送接收相互通信,都是用C++实现。 目录 WM_COPYDATA 消息代码实现WM_COPYDATA 消息An application ...原创 2018-08-29 15:58:00 · 5817 阅读 · 1 评论