![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 60
清风彬
主动思考很重要!
展开
-
校招C++要学到什么程度?
针对正在进行时的校招,我就来周期性更新一下作为一名C++开发工程师要掌握的知识,大致包含如下部分:1、C++基础2、计算机网络3、操作系统4、网络编程5、数据结构与算法6、MySQL数据库7、项目/开源项目C++基础:1、面向对象的三大特性:封装、继承、多态封装:就是把客观事物封装成抽象的类,可以使某个属性只能被当前类使用,从而避免被其他类或对象进行操作——保证了安全性。也可以让使用者不必了解具体类的内部实现细节,而只需通过提供给外部的访问接口来访问类中的属性和方法——简..原创 2021-09-10 12:01:55 · 2622 阅读 · 1 评论 -
C++——模板
模板模板是C++支持参数化多态的工具,使用模板可以为类或者函数声明一种模式,使类中的数据或者函数的参数、返回值取得任意类型。模板是泛型编程的一种基础。主要有函数模板和类模板。1.函数模板函数模板概念:函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。函数模板格式:template<typename T1, typename T2,…,typename Tn>返回值类型 函数名(参数列表){}template<原创 2021-04-13 21:31:57 · 308 阅读 · 3 评论 -
关于野指针Wild Pointer!
1.野指针的概念概念: 野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的);相当于指针指向非法的内存空间。指针变量在定义时如果未初始化,其值是随机的,指针变量的值是别的变量的地址,意味着指针指向了一个地址是不确定的变量,此时去解引用就是去访问了一个不确定的地址,所以结果是不可知的。2.野指针产生原因:指针变量未初始化任何指针变量刚被创建时不会被自动置为NULL,它的缺省值是随机的,所以这块内存,所以指针变量在创建时,要么初始化让它指向一块合法的内存,要么置为NULL。#in原创 2021-04-04 21:18:15 · 437 阅读 · 0 评论 -
指针-数组-引用概念与区别!
一、指针在计算机科学中,指针(Pointer)是编程语言中的一个对象,指针是个变量,存放内存单元的地址(编号)。该地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。#include <stdio.h>int main(){ int a = 10;//在内存中开辟一块空间 int *p = &a;//这里我们对变量a,取出它的地址,可以使用&a原创 2021-04-04 20:39:09 · 519 阅读 · 0 评论 -
继承组合区别以及优缺点
继承和组合继承是一种is-a的关系。也就是说每个派生类对象都是一个基类对象。组合是一种has-a的关系。逻辑上A是B的“一部分”(a part of),但是不允许B从A派生,而是要用A和其它东西组合出B优先使用对象组合,而不是类继承 。继承优点:继承允许根据基类的实现来定义派生类的实现。这种通过生成派生类的复用通常被称为白箱复用(white-boxreuse)。术语“白箱”是相对可视性而言:在继承方式中,基类的内部细节对子类可见 。容易进行新的实现,因为其大多数可继承而来。 易于修改或扩展那原创 2021-04-04 19:42:20 · 1824 阅读 · 0 评论 -
C/C++语法特性及内存管理常见问题
1.C/C++语言区别:C语言是一种结构化语言,面向过程,基于算法和数据结构,所考虑的是如何通过一个过程或者函数从输入得到输出;C++是面向对象,基于类、对象和继承,所考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题,通过获取对象的状态信息得到输出或实现过程控制。2.malloc/free和new/delete的区别是什么:共同点:都是从堆上申请空间,并且需要用户手动释放。不同点:malloc和free是函数,new和delete是操作符malloc申请的空间不会初始化,ne原创 2021-04-04 19:16:12 · 186 阅读 · 2 评论 -
怎么解决vs2013代码运行结果闪退的问题?
1.首先,这是一个随便的一行代码。按F5运行,哦呦??结果一闪而过,真是太气人了。怎么解决这个问题呢?2.最简单的方法就是在return 0;前加一句getchar();这样运行结果就不会一闪而过了。原创 2021-03-23 21:11:52 · 409 阅读 · 1 评论 -
C/C++超详细的关键字大全!
上表为C++98/03中的63个关键字,红色部分为C语言中的32个关键字。下边是对每个关键字的详解:1. asmasm (指令字符串):允许在 C++ 程序中嵌入汇编代码。2. autoauto(自动,automatic)是存储类型标识符,表明变量"自动"具有本地范围,块范围的变量声明(如for循环体内的变量声明)默认为auto存储类型。3. boolbool(布尔)类型,C++ 中的基本数据结构,其值可选为 true(真)或者 false(假)。C++ 中的 bool 类型可以和 int .转载 2021-03-23 18:19:43 · 11864 阅读 · 2 评论 -
骆驼命名法——C++实现
题目描述从C/C++转到Java的程序员,一开始最不习惯的就是变量命名方式的改变。C语言风格使用下划线分隔多个单词,例如“hello_world”;而Java则采用一种叫骆驼命名法的规则:除首个单词以外,所有单词的首字母大写,例如“helloWorld”。请你帮可怜的程序员们自动转换变量名。输入描述:输入包含多组数据。每组数据一行,包含一个C语言风格的变量名。每个变量名长度不超过100。输出描述:对应每一组数据,输出变量名相应的骆驼命名法。输入hello_worldnice_to_mee原创 2021-03-18 20:39:21 · 828 阅读 · 0 评论 -
C++——list的增删查改的模拟实现
#include <iostream>namespace bite{ // List的节点类 template<class T> struct ListNode { ListNode(const T& val = T()); ListNode<T>* _pPre; ListNode<T>* _pNext; T _val; }; //List的迭代器类 template<class T, class Ref, cl原创 2020-11-22 19:13:11 · 657 阅读 · 0 评论