C/C++
介绍C/C++基础知识点,记录C/C++开发中遇到的种种问题与解决方案
墨雨依旧付疏狂Q
这个作者很懒,什么都没留下…
展开
-
C++经典面试题(四)之数据结构与算法
一、链表#pragma oncestruct ListNode{ int value; ListNode *pNext;};// 在链表末尾添加一个节点void AddToTail(ListNode** pHead, int value);// 找到链表中第一个含有某值的节点并删除void RemoveFirstNode(ListNode** pHead, int v...原创 2020-04-07 23:40:45 · 691267 阅读 · 0 评论 -
C++经典面试题(三)之C++11 STL
【题目1】map与unordered_map区别【解答】(1)排序:map在缺省下,map按照递增的顺序进行排序;unordered_map不排序(2)内部原理:map内部采用了自平衡的二叉搜索树,实现了数据排序;unordered_map内部采用了哈希表(3)搜索操作时间:map的搜索时间复杂度为O(log(n));unordered_map平均搜索时间O(1),最坏情况为O(n...原创 2020-04-07 18:24:17 · 690731 阅读 · 0 评论 -
C++经典面试题(二)之常用库函数内部实现
1. memcpyvoid* my_memcpy(void *dest, const char* src, size_t count){ assert((dest != nullptr) && (src != nullptr)); char* p_dest = (char*)dest; const char* p_src = (const char*)src; wh...原创 2020-04-03 22:59:05 · 690267 阅读 · 1 评论 -
C++字符串常用操作方法总结(持续更新)
1 字符串切割std::vector<std::string> splitWithStl(std::string str, std::string pattern){ std::vector<std::string> result; char *strc = new char[strlen(str.c_str()) + 1]; strcpy(strc, str...原创 2020-04-01 22:21:32 · 691075 阅读 · 0 评论 -
C/C++ 经典面试题(一)之常考概念【持续更新】
【题目1】引用和指针有什么区别?【解答】(1)定义一个指针变量编译器会为它分配内存,而引用不占用任何内存;(2)引用必须在定义时被初始化,指针不必;(3)不存在指向空值的引用,但存在指向空值的指针。【题目2】函数参数传递中值传递、地址传递、引用传递有什么区别?【解答】(1) 值传递,会为形参重新分配内存空间,将实参的值拷贝给形参,形参的值不会影响实参的值,函数调用结束后...原创 2018-05-09 10:15:16 · 148351 阅读 · 22 评论 -
C++中的泛型算法
C++中标准库并未给容器添加大量功能,而是提供了一组算法,这些算法大多独立于任何特定的容器,这些算法可用于不同类型的容器和不同类型的元素,它们称为泛型算法。1 初识泛型算法1.1 只读算法(1)find()算法int val = 42auto result = find(vec.cbegin(), vec.cend(), val);cout &lt;&lt; "The value" &...原创 2018-11-29 09:06:36 · 689788 阅读 · 0 评论 -
C++判断主机IP和指定端口是否能Ping通
#include &amp;amp;amp;lt;iostream&amp;amp;amp;gt;#include &amp;amp;amp;lt;winsock.h&amp;amp;amp;gt;#include &amp;amp;amp;lt;string&amp;amp;amp;gt;#include &amp;amp;amp;lt;sstream&amp;amp;am原创 2018-11-05 16:47:24 · 694426 阅读 · 1 评论 -
如何解决TortoiseSVN文件夹及文件比对图标不显示的问题
TortoiseSVN是一款重要的代码管理工具,其最重要的作用之一是可以将本地文件与云端文件进行内容比对,并显示比对是否有改变,这极大地方便我们快速找到改动过的文件以上传或者比对文件内容的改动部分。然而,很多时候,我们常常遇到TortoiseSVN文件比对图标不显示的问题,其实,这只要几部即可使TortoiseSVN恢复文件比对显示结果符号功能。(1)“Win + R"打开运行框,输入"rege...原创 2018-11-01 21:59:01 · 692592 阅读 · 0 评论 -
C++中路径字符串的切割方法
在开发中,我们经常需要得到当前模块的上级目录,甚至上上级目录等,下面提供一个实例演示当前模快路径的获取、通过路径字符串的切割获取上三级目录。【详细代码】#include &amp;lt;iostream&amp;gt;#include &amp;lt;atlstr.h&amp;gt;#include &amp;lt;string&amp;gt;using namespace std;s原创 2018-10-19 11:51:33 · 693554 阅读 · 1 评论 -
C++ Windows进程控制
一、杀死指定进程// 杀死指定进程BOOL KillProcessFromName(CString strProcessName){ HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); PROCESSENTRY32 pe; pe.dwSize = sizeof(PROCESSENTRY32); if ...原创 2018-09-30 15:46:31 · 692619 阅读 · 3 评论 -
C++单例模式
原文地址:https://www.cnblogs.com/kubixuesheng/p/4355055.html单例模式:就是只有一个实例。singleton pattern单例模式:确保某一个类在程序运行中只能生成一个实例,并提供一个访问它的全局访问点。这个类称为单例类。如一个工程中,数据库访问对象只有一个,电脑的鼠标只能连接一个,操作系统只能有一个窗口管理器等,这时可以考虑使用单例模式。众所周...转载 2018-05-23 15:42:56 · 131013 阅读 · 0 评论 -
C++调用Python 3.7.0
#include &amp;amp;amp;amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;amp;amp;amp;lt;Python.h&amp;amp;amp;amp;amp;amp;amp;gt;using namespace std;int main(int argc, char *argv[]){原创 2018-08-15 17:44:51 · 189683 阅读 · 4 评论 -
VS2015中引用动态链接库dll目录的配置方法
法1:配置属性-&amp;gt;调试-&amp;gt;环境:输入path=包含dll文件的文件夹路径,【注意】path(空格)=路径、path=(空格)路径、path(空格)=(空格)路径等写法都会导致dll引用失败。法2:将dll文件拷贝到生成的.exe所在的文件夹中...原创 2018-08-16 09:33:50 · 205100 阅读 · 0 评论