
C++
无名️
这个作者很懒,什么都没留下…
展开
-
智能指针子类父类之间转化
智能指针子类父类之间转化。原创 2023-10-12 11:17:19 · 519 阅读 · 0 评论 -
new和new(std::nothrow)
std::nothrow 表示如果错误不抛出异常;也就是说这里new失败以后不会抛出异常,但是返回值会是nullptr。可以使用if判断是否成功,也是比较推荐一种方式原创 2021-08-10 18:54:44 · 287 阅读 · 0 评论 -
Lambda的使用和解释
作为一个C++开发的工程师,现在C++17都已经出现了,我才看C++11的语法,有点跟不上的情况,所以对于Lambda的用法做一个自己的理解和说明,希望大牛们做出指点和补充。表达式如下:[capture](parameters) mutable ->return-type{statement}[capture]:捕捉列表。捕捉列表总是出现在Lambda函数的开始处。实际上,[]是Lambda引出符。编译器根据该引出符判断接下来的代码是否是Lambda函数。捕捉列表能够捕捉上下文中的变量以供L原创 2021-04-09 11:47:32 · 321 阅读 · 0 评论 -
Win32入口函数mian参数
在非窗口函数中,mian常见的几个形式为int main (void);和int main(int argc, char *argv[])两个形式。第一个就是参数没有。第二个是传入以空格为间隔的数据:举个栗子,我们需要传入五个参数分别是std::string str1;double f1; double f2; double f2;std::string str2;调用该程序的时候,我们传进来的这五个内容都是包含在argv数组中的。记住这里的argc的个数不是5个而是6个。其中argv[0原创 2021-04-26 15:46:09 · 306 阅读 · 0 评论 -
标准库中智能指针
最近换了工作,在面试的时候,很多面试官都问我智能指针。首先说下智能指针的引入。在C++中,动态内存的管理是用一对运算符完成的:new和delete,new:在动态内存中为对象分配一块空间并返回一个指向该对象的指针,delete:指向一个动态独享的指针,销毁对象,并释放与之关联的内存。动态内存管理经常会出现忘记释放内存,会造成内存泄漏和尚有指针引用内存的情况下就释放了它,就会产生引用非法内存的指针的问题。为了更加容易(更加安全)的使用动态内存,引入了智能指针的概念。标准库提供的两种智能指针的区别在于管理原创 2021-04-12 16:27:56 · 141 阅读 · 0 评论