![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++/CPP
文章平均质量分 60
Soar_dream
这个作者很懒,什么都没留下…
展开
-
getmemory()引发的指针(地址)传递分析
1. [case1] 常见(应该在在某个笔试面试中常见),自已写项目时,也会遇到使用一个接口分配内存1.1 error现象//C风格void get_memory(char *p,int len){ p = (char *)malloc(len); return ;}int main(){ char *pstr = NULL; get_memory(pstr); strcpy(pstr,"...原创 2021-08-31 07:39:38 · 224 阅读 · 0 评论 -
C/C++ 回调函数(即函数指针)的理解及一些思考
【01】要想从本质的去函数某一类函数,就要问为什么要引入这类函数?即下面回答为什么要使用回调函数 。【写在前面】网上有很多资料,给出概念后,就洋洋洒洒的给出回调函数的例子,虽然好多人看了,觉得我知道什么用了,但很多时候我们真没有从本质上去理解回调函数 。其中有一个经典的例子卖东西留电话号码之类的,看懂意思了,但这样的说明很泛的。看了之后,如果不想深究的兄弟觉得自己懂了,想深究的兄弟,觉得越看越似懂非懂,苦呀!1. 【为什么要使用回调函数:理解01】 回调函数为了封装特性。即C语言中存在大...原创 2020-05-26 15:35:12 · 578 阅读 · 0 评论 -
C/C++中const变量与非const之间的赋值
【01】非const变量不能给const变量赋值(注意是赋值,不是初始化。非const变量是可以给const变量初始化的) 【01-举例】如在函数中 int reCont(const int iConNm) { return iConNm; } 【01-使用】 在使用的这个接口时,完全可以使用,如下: int b = 100; const int...原创 2020-05-12 11:10:45 · 3241 阅读 · 0 评论 -
int &/ int 与int *&/int *的分析
【背景】对T*&有const T*& 有时有点困惑【分析】从题目上可以看明白,不论是T*&还是const T*&本质上与int &区别不大。【01】int &/ int 与int *&/int *的分析 前者就不多分析,后者int *&/int *稍说一下,如果我们将int *作为参数时,那么此参数将是值传递,...原创 2020-05-06 11:26:53 · 467 阅读 · 0 评论 -
C++ container
http://c.biancheng.net/view/354.html原创 2020-04-28 10:29:55 · 272 阅读 · 0 评论 -
C++模板编程收集
[01] 模板是泛型编程的基础;[02] 模板函数https://www.cnblogs.com/33debug/p/6783538.html[03] 模板类型http://c.biancheng.net/view/320.html原创 2020-04-16 13:33:22 · 170 阅读 · 0 评论 -
std的vector 作为参数传入或者作为返回值
【01】[参数] std::vector 作为参数传入,是值传递,vector本身,及vector内的所有元素都会复制一遍。得不偿失,可以使用引用传递。即建议写成 rType func(pType p1,vector<int>& p2,...)【02】【返回值】 std::vector作为函数返回值,是不会创建新vector对象的。函数内返回的跟接...原创 2020-04-14 11:33:21 · 2099 阅读 · 0 评论 -
C++ using MyDefineType = 基类或者 复合类; 其实是typedef的另一种用法
1)问题背景C11++中有使用using定义类型的方法,不过很少使用,不过并不表明你在看别人(你做项目或者你在实现某某个功能,肯定要参考些资料吧)的代码,特别是一些源码可能会遇到过比如我在Json中就遇到过Json::String即为“using String = std::basic_string<char, std::char_traits<char>, Allocat...原创 2020-03-28 15:43:39 · 156 阅读 · 0 评论 -
C++ static及static const在类中的使用说明
1. 【简言】 static 及const在c/c++中是非常重要的两个关键字,在函数及参数中都有广泛的使用。2.【代码举例】 ps:请直接看代码是1 、2、3、4的说明即可。#include <iostream>using namespace std;class tTest;int main(){ tTest...原创 2020-03-24 14:59:46 · 375 阅读 · 0 评论 -
C++ bad_alloc类的使用实例
1.bad_alloc类存在于#include<new>头文件中;不过一般用户使用时无需要包含<new>头文件,运行也没问题,不知哪里间接的包含进行去了,未深入去研究这个问题,有知道的可以告知我一下,谢谢!2.例子(在vs2015上运行过)#include <iostream>using namespace std;int main(...原创 2020-03-23 16:45:16 · 1040 阅读 · 0 评论 -
C++接口继承与实现继承的区别
转载:https://blog.csdn.net/ljinddlj/article/details/1922189 接口继承与实现继承的区别 所谓接口继承,就是派生类只继承函数的接口,也就是声明;而实现继承,就是派生类同时继承函数的接口和实现。我们都很清楚C++中有几个基本的概念,虚函数、纯虚函数、非虚函数。虚函数...原创 2020-03-05 18:35:38 · 672 阅读 · 0 评论 -
C/C++ 析构函数被调用场景
析构函数在下边3种情况时被调用:1.对象生命周期结束,被销毁时;2.delete指向对象的指针时,或delete指向对象的基类类型指针,而其基类虚构函数是虚函数时;3.对象A是对象B的成员,B的析构函数被调用时,对象A的析构函数也被调用。...原创 2019-08-15 16:35:54 · 518 阅读 · 0 评论 -
C++ 类中 int Cls::func() const;中const的意义
int Cls::func() const;中const的意义:1. 不能对成员进行赋值。即类中此成员函数,你不希望它能修改此类任何一个成员变量,则可以如此使用。2. 不能调用成员的非const成员函数。3. 将类数据成员传递给外部函数时,将为该数据成员加上const属性。PS:const intCls::func();如果这种形式:一般习惯写成:int constC...原创 2019-06-24 15:26:33 · 1775 阅读 · 0 评论 -
C++ 中const与constexpr区别【简要】
1. const(1) const可以在编译阶段初始也可以在运行阶段初始化;const int a = 20;//编译阶段初始化;std::string s("abcdef");const auto b= s.length();//length()的返回值 size_type; //运行阶段初始化;说明的意义:常常认为const是在编译阶段初始化,const的...原创 2019-06-26 13:50:31 · 1274 阅读 · 0 评论 -
在VS2015下以C++ win32控制台使用CString类的方式
一:C++ win32控制台使用CString的方式之操作步骤1. 首先:右键点击你的工程,选择“properties” -> configuration properties -> 点击General -> 右边的菜单中点击Project Defualts下拉选项中有“Use of MFC”其右边一般是“Use Standard Windows Libraries”,点击...原创 2018-11-08 15:58:57 · 1938 阅读 · 0 评论 -
__declspec(dllexport)和__declspec(dllimport)的理解与使用场景
1、问题场景: 考虑下面的需求,使用一个方法,一个是提供者,一个是使用者,二者之间的接口是头文件。头文件中声明了方法,在提供者那里方法应该被声明为__declspec(dllexport),在使用者那里,方法应该被声明为__declspec(dllimport)。二者使用同一个头文件,作为接口,怎么办呢?2、解决办法: 使用条件编译:定义一个变量,针对提供者和使用者,设置不同的值。...原创 2018-11-13 15:25:29 · 210 阅读 · 0 评论