自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 C++中的类模板

templateclass Student {public: Student(NameType name, AgeType age) { this->name = name; this->age = age;}private: NameType name; AgeType age;};

2024-04-16 10:29:12 304 1

原创 什么是函数模板?

template void mySwap(T &a, T &b){T temp;temp = a;a = b;b = temp;}T代表一种抽象的数据类型,可以用其他字母,但是习惯上使用字母。但是我们要交换的数字不只是T。

2024-04-15 15:10:24 181

原创 C++命名空间在内部声明函数,在外部定义函数

#include namespace A { int a; void func();}void A::func() { std::cout

2024-04-15 10:16:02 140

原创 C++中的结构体数组

在C++中,结构体(struct)是一种用户自定义的数据类型,它允许我们将不同类型的数据组合在一起,形成一个更为复杂的数据结构。本篇博客将介绍如何在C++中创建和使用结构体数组,并通过一个示例来演示其基本用法。在这个示例中,我们首先定义了一个名为Student的结构体,它包含了学生的姓名(name)、年龄(age)和分数(score)三个数据成员。接着,在main函数中,我们创建了一个students数组,用于存储三个学生的信息,并对每个学生的姓名、年龄和分数进行了访问和输出。

2024-03-27 15:44:25 344 1

原创 了解 C++ 中的三元运算符

在 C++ 编程中,三元运算符是一种特殊的运算符,也被称为条件运算符。” 和 “:” 组成,通常用于简单的条件判断和返回不同的值。在这个示例中,我们定义了两个整数 a 和 b,并使用三元运算符来比较它们的大小。三元运算符是 C++ 中一种简洁而强大的工具,能够在一行代码内进行条件判断并返回不同的值。其中,condition 是一个条件表达式,如果这个条件为真(非零),则表达式的值为 value1;希望通过本文的介绍,读者对 C++ 中的三元运算符有了更清晰的理解,并能够在实际开发中熟练运用它。

2024-03-27 14:18:12 391

原创 C++类的构造函数和析构函数

构造函数和析构函数在C++中起着至关重要的作用,正确使用它们可以确保对象的正确初始化和清理,避免资源泄漏和内存泄漏问题。希望以上说明能帮助你更好地理解构造函数和析构函数的作用和用法。

2024-03-25 11:27:22 519

原创 C++中的数组

在C++中,数组是一种用于存储相同类型数据元素的集合的数据结构。数组提供了一种有效的方式来管理大量相似类型的数据,并可以通过索引访问和操作数组中的元素。其中,type表示数组元素的类型,arrayName是数组的名称,arraySize表示数组的大小。多维数组可以看作是数组的数组,具有多个维度。在C++中声明数组需要指定数组的类型和大小。通过下标(索引)可以访问数组中的元素,数组下标从0开始计数。连续存储:数组中的元素在内存中是连续存储的。高效访问:可以通过下标快速访问数组中的元素。

2024-03-25 10:52:33 149

原创 怎么查看visual studio当前项目的c++标准

通过上述步骤,你可以在 Visual Studio 中查看并设置当前项目所使用的 C++ 标准版本。这样可以确保你的代码在编译时按照指定的标准进行处理。

2024-03-22 13:10:17 709

原创 C++中的动态数组vector的基本操作

前言一、vector数组的声明二、vector数组的初始化三、vector数组的大小1. 在声明时设置大小2. 修改大小3. 查看大小四、添加元素与删除元素1. 添加元素2. 删除元素总结

2024-03-22 11:35:53 962 1

原创 C++中的vector简介

在 C++ 中,std::vector 提供了动态大小的数组功能,可以在运行时动态地增加或减少其大小,同时提供了访问元素、插入元素、删除元素等功能,非常方便且易于使用。以下是 std::vector 的一些重要特点和用法:动态大小:std::vector 允许动态地增加或减少其大小,无需在定义时指定数组的大小。连续存储:std::vector 内部的元素在内存中是连续存储的,因此支持通过索引快速访问元素。使用方法:要使用 std

2024-03-21 14:09:31 208

原创 C++创建对象的方式有几种

使用初始化列表:在C++11中引入了初始化列表的语法,可以在创建对象时直接对成员变量进行初始化。在堆上创建对象:使用new运算符在堆上动态分配内存来创建对象。需要手动释放内存以避免内存泄漏。拷贝构造函数:可以通过拷贝构造函数来使用一个已经存在的对象创建一个新对象。这些是在C++中创建对象的常见方式,每种方式都有其适用的场景和注意事项。这些例子展示了不同的对象创建方式,你可以根据具体的需求选择适合的方式。在栈上创建对象:通过直接声明对象变量,在程序的作用域内创建对象。

2024-03-20 14:21:24 232

原创 C++中的结构体

假设要存储有关篮球运动员的信息,则可能需要存储他(她)的姓名、工资、身高、体重、平均得分、命中率、助攻次数等。希望有一种数据结构可以将所有这些信息存储在一个单元中。数组虽然可以才能出多个元,但是这些元素的类型必须相同,不能满足需求。C++中的结构体(struct)可以满足这项需求。在C++中,结构体是一种用户自定义的数据类型。

2024-03-20 14:15:12 598

原创 C#中的委托怎么使用

在上述示例中,定义了一个名为Calculate的委托类型,它可以引用一个带有两个int类型参数且返回值为int的方法。在Main方法中,通过创建委托对象并指定要调用的方法,来实现动态选择要执行的方法。C#委托(Delegate)是一种引用类型,它可以用来封装一个或多个方法,并且可以在需要的时候调用这些方法。这使得委托在事件处理等场景中非常有用。上述代码定义了一个名为MyDelegate的委托,该委托可以引用一个带有int类型参数且返回值为void的方法。创建委托对象,指定要调用的方法;

2024-03-14 14:46:20 172

原创 C++通过组合的方式在一个类中使用另一个类的成员函数

在这个示例中,ClassB 中包含了一个名为 objA 的 ClassA 实例,并且可以通过 objA.functionA() 来调用 ClassA 中的成员函数。在C++中,你可以通过组合的方式在一个类中使用另一个类的成员函数。这表示成功通过组合的方式,在一个类中使用了另一个类的成员函数。

2024-03-13 14:37:37 164

原创 C++ 中的 String 数据类型

在 C++ 编程中,字符串操作是一个常见且重要的任务。为了更高效地处理字符串数据,C++ 提供了std::string 类,它是标准库中用于表示和操作字符串的类。在本文中,我们将深入介绍 C++ 中的std::string 数据类型,包括其特点、用法和一些常见操作。std::string 类为 C++ 中的字符串处理提供了便利和效率。通过灵活运用其成员函数和操作符,我们可以高效地进行字符串的拼接、比较、查找等操作,满足各种字符串处理需求。

2024-03-12 12:36:22 739

原创 在C#中传递结构体给C++编写的 DLL

请确保在 C# 中使用 StructLayout 特性,并指定结构体的布局方式为 Sequential,以及在 C++ 中使用 extern “C” 来避免名称修饰。在 C# 中使用 DllImport 引入 C++ 编写的 DLL,并在方法声明中使用 ref 关键字将结构体传递给 C++ 函数。在C#中传递结构体给C++编写的 DLL,需要确保结构体在内存中的布局是相同的。通过上述代码,你可以在 C# 中将结构体传递给 C++ 编写的 DLL 并进行处理。如果有任何疑问,请随时提出。

2024-03-11 22:08:28 313

原创 在C#和C++中通过引用传递变量

在编程中,函数或方法通常以两种方式之一接收参数:值传递和引用传递。值传递意味着函数操作的是参数的副本,而原始数据保持不变;引用传递则允许函数直接操作原始数据。本文将探讨如何在C#和C++中实现引用传递,特别是C#的ref关键字和C++中的引用(&)与指针(*)。C#的ref关键字和C++中的引用与指针都提供了强大的功能,允许程序员以引用传递的方式操作变量,这在需要修改传入参数或优化性能(通过避免复制大型对象)的场景下尤其有用。正确理解和使用这些特性将有助于编写更高效、更灵活的代码。

2024-03-11 13:14:18 496

原创 C++中结构体的三种嵌套方式

在C++编程中,结构体(struct)的嵌套是一种强大的技术,可以用于构建复杂的数据结构。通过结构体的嵌套,我们可以将相关联的数据组织在一起,形成更具层次结构的数据模型。本文将详细介绍C++中结构体的三种嵌套方式:结构体内嵌套结构体、类内嵌套结构体以及结构体内部嵌套类,并提供相应的示例代码。在C++中,结构体的定义使用关键字struct,后跟结构体的名称和花括号内的成员变量列表。int data1;char data3;

2024-03-08 16:28:04 1514

原创 C++类的定义

在这个“水果”类的基础上,可以派生出具体的水果类,比如“苹果”类、"橘子"类、"香蕉"类等。不同的是,int、double、float、string等属于编程语言内置的、提供给用户直接使用的基本数据类型,而类则是用户可以自定义的数据类型。当你实例化(或创建)一个类的对象时,才会在内存中为该对象分配空间,并可以通过对象来访问和操作类中定义的成员变量和成员函数。然后,通过这个类可以创建多个对象,每个对象都有自己的属性(成员变量)和行为(成员函数),但遵循同一个类的结构和行为规范。

2024-03-07 14:57:52 322

原创 C语言中的结构体

在C语言中,结构体(struct)是一种灵活且强大的数据类型,它允许我们将不同类型的数据组合在一起,形成一个自定义的数据结构。通过结构体,我们可以更好地组织和管理数据,使得代码更加模块化、可读性更强。本文将介绍结构体的定义、声明、初始化和使用方法,以及结构体在实际编程中的应用。定义了一个名为Person的结构体,它包含三个成员变量:name、age和height。

2024-03-07 14:56:43 228

原创 C#枚举类型

在上述示例代码中,我们在命名空间MyNamespace中定义了一个名为MyClass的class和三个枚举类型Color、Size和Shape,这些枚举类型可以在命名空间内部或者外部使用,以表示不同的概念和状态。在第二个示例中,Color 枚举的成员 Red 显式指定了值为 1,Green 没有指定值,则会自动递增为 2,Blue 显式指定为 4,Yellow 没有指定值,则会自动递增为 5。在第一个示例中,Season 枚举的成员 Spring 的值为 0,Summer 的值为 1,以此类推。

2024-03-04 17:42:51 228 1

原创 Android二次安装之前一定要卸载干净

卸载完成后,将c盘对应目录(见上图)下的AndroidStudio开头的文件删除。Android二次安装之前一定要卸载干净,不然会出现很多的问题。在控制面板里进行卸载。

2023-02-28 12:44:50 860

原创 ImportError: attempted relative import with no known parent package

将相对路径换为绝对路径。

2023-02-08 22:59:31 678

原创 AssertionError: Torch not compiled with CUDA enabled

在用pycharm跑深度学习的一段代码时出现了这样的错误。

2023-02-08 22:09:47 739 2

原创 Pycharm每次新建项目都要重新安装库

Pycharm每次新建项目都要重新安装库,对于一些较大的库,安装时间较长且占用内存较大。先打开你的老项目,查看编译器的地址。比如我这个项目的编译器地址就是红色方框部分。新项目仍然使用老项目的编译器,可以解决这个问题。可以看到新项目所使用的解释器就是老项目的解释器。然后打开你建立的新项目,点击添加解释器。选择现有解释器,找到其路径,点击确定。

2023-02-01 10:51:38 2534

原创 stm32 4*4矩阵键盘

原理在http://www.51hei.com/mcu/3815.html上讲得很清楚,也附了代码,本文主要是改进了代码中的一些问题,并且作了详细的注释,欢迎读者评论交流。(还没测试,测试结果要等键盘发过来)#include"anjian4_4.h"/*PB7:A B C DPB6:3 6 9 #PB5:2 5 8 0PB4:1 4 7 * 第一列///////////PB3:* 0 # DPB2:7 8 9 CPB1:4 5 6 BPB0:1 2 3 A 第一行*//*按键使

2021-07-06 21:19:17 773 1

原创 51单片机如何延时1s,让LED灯闪烁

精确地延时1s需要准确地计算,粗略地延迟1s可以自定义一个delay函数,下面我们让第一个LED灯延迟1s闪烁://本题的delay函数参数为1时延迟的是1ms,1000是1s#include<reg52.h> #define uchar unsigned char#define uint unsigned intvoid delay(uint z);sbit LED=P1^0; //定义管脚void main(){ while(1) //让体系一直循环下去

2020-08-08 15:24:48 32450 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除