c++入门之初话指针】的更多相关文章

先上代码:再进行总结知识: # include "iostream" struct ant_year_end { int year; }; int main() { using namespace std; ant_year_end s1, s2, s3; s1.year = ; ant_year_end *point = &s2; point->year = ; ant_year_end trio[]; trio[].year = ; cout << tri…
指针和地址是c和c++中重要的概念,在此,对指针做以下几方面的总结: new和delete: ]; point[] = ; point[] = ; point[] = ; cout << ] << endl; cout << "the defferent show is:" << *point << endl; cout << ) << endl; delete[] point; 通常c语言中定义个数组…
多态性是面向对象程序设计的又一个重要思想,关于多态的详尽描述,请看本人的收藏https://www.cnblogs.com/hust-ghtao/p/3512461.html.这篇博文中,详尽的探讨了多态的一些特性. 在此,我仅仅以白话的方式描述为何要引入多态: 子类继承了基类的方法,但子类可以改变这些这些方法以适应自己的特性,而不是只能照搬基类的方法.现在面临这样一个问题:访问的便捷性和权限. 我们可以使用对象名的方式来访问方法,或者使用类指针,类引用的方式来访问,这都是完全OK的.关键问题在…
结构体是一种具有一定数据结构思想的数据类型,我们在对待结构体的时候,用该从数据结构的思想去审视结构体.下面给出结构体的定义 struct mystruct {]; int score; double average; }: 上述是一段关于结构体类型定义的基本知识,总结两点: 1 struct 是关键字,不是变量类型,变量类型是 struct mystruct 注意每个结构体成员后面是分号:";",而不是逗号:“,”. mystruct students{,85.42}; 上述进行了结构…
函数指针可以方便我们调用函数,但采用函数对象,更能体现c++面向对象的程序特性. 函数对象的本质:()运算符的重载.我们通过一段代码来感受函数指针和函数对象的使用: int AddFunc(int a, int b) { return a + b; } class Add { public: const int operator()(const int a,const int b) { return a+b; } }; int main() { //函数指针 int (*Add1)(int a,…
Go语言入门系列前面的文章: Go语言入门系列(二)之基础语法总结 Go语言入门系列(三)之数组和切片 Go语言入门系列(四)之map的使用 1. 指针 如果你使用过C或C++,那你肯定对指针这个概念不陌生. 我们需要先介绍两个概念:内存和地址. 1.1. 内存和地址 我们写的代码都存储在外存(C盘.D盘)中,比如我存在了D:\Work\Program\go目录下.如果你想要运行你的代码,必须先把你的代码加载进内存中,然后交给CPU执行计算,而CPU计算的结果也会存到内存中. 内存的存取速度快,…
此处没有代码,仅仅讨论一些这样的问题:我们为何使用引用?在哪里使用引用? 首先从函数的角度思考?:函数进行一般参数传递的时候,是怎么样传递的?普通类型的参数传递,是将传递的实参复制一份,到另一个内存空间,这其中包含了int,char ,甚至struct.那么从内存的角度讲:如果我们传递的参数非常占用内存空间,比如一个很大很复杂的结构体.那么复制过程首先无疑会浪费时间,其次也会浪费内存.更不用讨论c++中在参数类型为类的时候,同样是一种复杂的结构类型.而引用这种方式,相当给原变量取了一个别名,但实…
指针 何为指针?来个官方定义:指针是一个值为内存地址的变量(或数据对象). 一.指针的声明 //示例 int *pi; //pi是指向int类型变量的指针 char *pc; // pi是指向char类型变量的指针 float *pf; // pi是指向float类型变量的指针 注意,指针的值虽然是地址,指针本身也是有自己的地址和大小的.在计算机中,指针的大小为8字节,在stm32中,为4字节. 二.指针的赋值与解引用 ; int *p; p=&num; printf("%d"…
原始指针:通过new建立的*指针 智能指针:通过智能指针关键字(unique_ptr, shared_ptr ,weak_ptr)建立的指针 在现代 C++ 编程中,标准库包含智能指针,该指针用于确保程序不存在内存和资源泄漏且是异常安全的. 在现代 C++ 中,原始指针仅用于范围有限的小代码块.循环或者性能至关重要且不会混淆所有权的 Helper 函数中. void UseRawPointer() { // Using a raw pointer -- not recommended. Song…
用自己的话解释清楚C++的模板编程 模板编程是为了解决什么问题而出现的? 提高代码的重用性,提高代码的利用率. 泛型编程的一种实现. 模板的精神是: 类型参数化. 模板的实现 模板分为:函数模板.类模板 函数模板 定义函数模板的一般形式为:template < typename T>通用函数定义 通用函数定义或template <class T>通用函数定义 通用函数定义 对于多个类型可采用如下:template <class T1, typename T2> 参考使用…