算法入门:专题一:双指针(有效三角形的个数)
leetcode题目有效三角形个数link 题目解析: 数组中随意挑出三个数字,挑出所有可以组成三角形的组合,最终仅仅需要返回所有三元组的个数即可。 算法原理: 三角形的组成:两边之和大于第三边,两边之差小于第三边。那如果按照这种规则拿出所有的组合,再将所有组合进行判断,这个时间复杂度...
C++入门2——类与对象1(类的定义和this指针)
1. 对面向对象与面向过程的初步认识 在C++入门1中我们已经知道:C语言是面向过程的,C++是面向对象的。 那哗啦啦说了一大堆,到底什么是面向过程编程、什么是面向对象编程呢?面向对象编程难道就是面对面,对着自己的恋爱对象写代码吗?——哈哈!开个玩笑,当然不是这样的。下面请让我用吃饺子的例子初步解释一下什么是面向过程编程、什么是面向对象编程吧! C语言吃饺子 ...
Go从入门到放弃之指针
阅读目录 指针地址和指针类型 指针取值 指针传值 new和make new与make的区别 要搞明白Go语言中的指针需要先知道3个概念:指针地址、指针类型和指针取值 回到顶部 指针地址和指针类型 每个变量在运行时都拥有一个地址,这个地址代表变量在内存中的位置。Go语言中使用&字符放在变量...
C++入门 | auto关键字、范围for、指针空值nullptr
C++入门 | auto关键字、范围for、指针空值nullptr 一、auto 关键字 1. auto 简介 在C++中,auto是一个关键字,用于自动推断变量的类型。使用auto可以省略变量的类型声明,是具有自动存储器的局部变量,编译器会根据变量的初始值自动推断出变量的类型。 C++11中,标准委员会赋予了auto全新的含义即:auto不再是一个存储...
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
1.内联函数 C语言中我们学习了宏定义,其实我们在学习的过程中认为宏定义是很不错的,但是我们下面要讲解宏的缺点 1.1前言(引出内联函数) ①写一个Add函数的宏定义 #de...
入门后指针进阶习题深度分析
1.sizeof() 整形数组 #include<stdio.h> int main() { //整形数组 int a[] = { 1,2,3,4 }; //注...
【C++入门到精通】智能指针 shared_ptr循环引用 | weak_ptr 简介及C++模拟实现 [ C++入门 ]
引言 欢迎阅读本系列文章的第二篇,我们将继续探讨与 shared_ptr 相关的主题。上一篇文章我们介绍了 shared_ptr 的强大功能,但也提到了它可能面临的一个问题 —— 循环引用。当两个或多个对象之间相互持有 shared_ptr 的引用时,就会形成循环引用,导致这些对象无法被正确释放,从而引发内存泄漏。 在本文中,我们将深入讨论循环引用问题,并引入另一个智能指针类——...
【C++入门到精通】智能指针 shared_ptr 简介及C++模拟实现 [ C++入门 ]
引言 在 C++ 动态内存管理中,除了 auto_ptr 和 unique_ptr 之外,还有一种智能指针 shared_ptr,它可以让多个指针共享同一个动态资源,并且能够自动释放资源。shared_ptr 通过引用计数的方式来管理内存,能够避免程序中出现悬空指针和内存泄漏等问题。本文将介绍 shared_ptr 的简介和使用方法,并提供一个 C++ 模拟实现,以帮助读者更好地理解其原...
【C++入门到精通】智能指针 auto_ptr、unique_ptr简介及C++模拟实现 [ C++入门 ]
引言 在 C++ 中,智能指针是一种非常重要的概念,它能够帮助我们自动管理动态分配的内存,避免出现内存泄漏等问题。在上一篇文章中,我们了解了智能指针的基本概念和原理,本篇文章将继续介绍 auto_ptr 和 unique_ptr 两种智能指针的概念及其在 C++ 中的模拟实现。通过学习这些内容,您将更好地理解智能指针的不同类型和使用场景,进一步提高程序的安全性和可靠性。让我们一起探索C+...
【C++入门到精通】智能指针 [ C++入门 ]
引言 在C++编程中,内存管理一直是一个重要的话题。手动分配和释放内存可能会导致各种问题,例如内存泄漏和悬挂指针,这些问题往往会导致程序崩溃或产生不可预测的结果。为了解决这些问题,C++提供了一种称为智能指针的机制,它可以自动管理内存分配和释放,从而避免了手动管理内存所带来的许多问题。 本文将深入探讨C++中的智能指针,介绍智能指针的基本概念、类型和用法,通过深入研究C++智能指...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。