C++
文章平均质量分 82
史嘉庆
努力做一个有质感的人
展开
-
动态规划 | 以dp[i][j]为起点类型思路分析
本文剖析了一道代码不长,但思路极其有韵味的题目,快来看看吧原创 2024-05-06 01:28:52 · 641 阅读 · 1 评论 -
【C++初阶:类和对象(下篇)】初始化列表 | static成员 | 友元
对于 B,我们不写构造函数,编译器会默认生成 —— 内置类型不处理,自定义类型会去调用它的默认构造函数处理 (无参的、全缺省的、编译器默认生成的),注意无参的和全缺省的只能存在一个,如果写了编译器就不会生成,如果不写编译器会默认生成。A aa2 = 1;友元函数可以直接访问类的私有成员,它是定义在类外部的普通函数,不属于任何类,但需要在类的内部声明,声明时需要加 friend 关键字。因为 B 作为 A 的内部类,跟普通类没有什么区别,只是定义在 A 的内部,它受到 A 的类域的限制和访问限定符的限制。原创 2024-02-14 19:47:47 · 1374 阅读 · 3 评论 -
this指针剖析
不同的编译器放在不同的位置,可能是栈,也可能是寄存器,(VC++编译器是放在ECX中,其它编译器有可能不同,也就是成员函数的其它参数正常都是存放在栈中。增加了一个隐藏的指针参数,让该指针指向当前对象(函数运行时调用该函数的对象),在函数体中所有“成员变量”的操作,都是通过该指针去访问。Date类中有 Init 与 Print 两个成员函数,函数体中没有关于不同对象的区分,那当d1调用 Init 函数时,该函数是如何知道应该设置d1对象,而不是设置d2对象呢?A、编译报错 B、运行崩溃 C、正常运行。原创 2024-02-07 23:52:53 · 515 阅读 · 2 评论 -
详解C++中auto关键字
在早期C/C++中auto的含义是:使用auto修饰的变量,是具有自动存储器的局部变量,但遗憾的是一直没有人去使用它,大家可思考下为什么?C++11中,标准委员会赋予了auto全新的含义即:auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。return 10;auto b = a;//typeid(变量名).name()是C++中查看变量类型的一种方式。原创 2024-02-02 17:21:59 · 537 阅读 · 6 评论 -
类与对象(上)
上面结构体的定义,在C++中更喜欢用class来代替类体:由成员函数和成员变量组成 };一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。类的两种定义方式:声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理类声明放在.h文件中,成员函数定义。原创 2024-02-02 17:21:13 · 863 阅读 · 1 评论