自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++ extern 关键字

c++中的’ extern '关键字用于声明在另一个翻译单元(另一个文件)中定义的变量或函数。它提供了一种跨项目中的多个文件访问全局变量或函数的方法。变量的例子####文件:main.cpp“‘cpp。

2024-07-17 07:45:39 253

原创 cpp基本数据类型大小

C++ 标准定义了每种基本数据类型的最小大小,具体大小取决于编译器和硬件平台。使用 sizeof 运算符可以确定在特定平台上的实际大小。理解这些基本数据类型和它们的大小对于编写高效和可移植的 C++ 代码至关重要。在 64 位系统上的 Windows 和 Linux 平台上,C++ 基本数据类型的大小通常会有所不同。这些差异主要是由于编译器的实现和操作系统的架构。

2024-07-17 07:38:08 518

原创 kotlin get set

在 Kotlin 中,如果想实现一个类的属性可以从外部读取但不能修改,可以使用自定义的 getter 和 private setter。在这个示例中,myProperty 的 getter 是公共的,因此可以从类的外部读取该属性。但是,setter 是私有的,因此无法从外部修改该属性。

2024-07-15 00:17:41 285

原创 c++查看包版本

如果是通过项目配置文件(如CMakeLists.txt)手动指定库的版本,可以直接查看这些配置文件。如果是通过包管理器(如Conan, vcpkg, 或者是系统自带的包管理器如apt, yum等)安装库的,可以使用对应的命令来查看已安装库的版本。在C++项目中查看依赖库的版本通常涉及几种方法,具体取决于是如何管理和引入这些依赖的。可以查找并打开这些头文件,通常会在文件顶部或通过特定的宏定义中找到版本信息。查看官方文档或库的官网通常可以找到版本信息,尤其是如果知道是从哪里下载或安装的库。

2024-07-12 07:48:10 304

原创 clion远程编译

CLion使用远端编译器的原理基于其对远程开发环境的支持,使得开发者可以在本地机器上编写代码,而编译和运行则在远程服务器上进行。这种方式非常适合需要在特定硬件或操作系统环境下编译和运行代码的情况,例如嵌入式开发或跨平台开发。

2024-07-12 07:39:38 145

原创 cpp使用第三方库

使用第三方库在C++中进行编程是一种常见的做法,因为它可以让利用现成的代码来实现更复杂的功能,而不必从头开始编写。这个例子将使用Boost库,它是C++中广泛使用的一个库,提供了大量的功能扩展。首先,需要在的系统上安装Boost。现在,在main.cpp中,我们将使用Boost库中的一些功能。例如,我们可以使用Boost的日期和时间库来打印当前日期和时间。如果一切设置正确,编译时不应该出现错误,并且运行程序会输出当前的日期和时间。在的CMake项目中,需要添加必要的配置来包含和链接Boost库。

2024-07-12 07:18:09 200

原创 cpp的cbp

cbp 文件是 Code::Blocks 的项目文件。Code::Blocks 是一个开源的跨平台集成开发环境(IDE),主要用于 C、C++ 以及 Fortran 编程。.cbp 文件包含有关项目的所有配置信息,包括文件路径、编译选项、链接器设置等。在这个示例中,MyProject 项目有两个构建目标:Debug 和 Release,分别输出到不同的目录中,并使用不同的编译器选项。

2024-07-12 07:10:49 240

原创 c++栈内存和堆内存的基本使用

C++11引入了智能指针,可以自动管理内存,避免内存泄漏。c++栈内存和堆内存的基本使用。动态数组的使用和内存管理。内存泄漏示例及其解决方案。

2024-07-11 07:03:24 111

原创 c++ 的&(引用)和*(指针)

在这个示例中,useReference 直接修改了传入的变量 value,而 usePointer 通过指针来修改 value。两种方式都达到了修改原始变量的目的,但是它们的使用方式和语义有所不同。在C++中,&(引用)和*(指针)在函数参数中的使用有各自的特点和用途。指针作为函数参数时,可以接收一个变量的内存地址,然后在函数内部通过指针操作该变量。// 通过解引用来修改传入的变量。引用作为函数参数时,可以使得函数能够修改传入的原始变量。value += 1;引用参数在函数内部看起来就像是原始变量的别名。

2024-07-11 07:00:37 156

原创 kotlin typealias

在 Kotlin 中,typealias 是一种非常有用的功能,它允许你为已存在的类型定义一个新的名称,可以用来简化复杂的类型签名或增强代码的可读性。在 Kotlin 中,typealias 的作用域与其他声明的作用域规则相同。可以为特定的泛型类型创建 typealias,这在定义泛型类或接口时非常有用。在文件级别定义的 typealias 可以在同一文件中的所有地方使用。对于常见的泛型类型,可以使用 typealias 来简化类型名称。对于复杂的函数类型,使用 typealias 可以使类型更加清晰。

2024-07-06 17:49:41 475

原创 c++笔试题

以下是关于移动函数的一些详细介绍和示例代码。需要注意的是,如果没有显式定义拷贝构造函数,C++会提供一个默认的拷贝构造函数,该默认构造函数会执行浅拷贝(即简单地复制成员变量的值),这可能导致问题,特别是在涉及指针和动态内存分配时。C++的内存模型规定了程序中内存的组织和访问方式,定义了对象在内存中的布局以及多线程环境中内存操作的顺序和可见性。在这个示例中,forwarder 使用 std::forward 来保持传入参数的原始类型(左值或右值),使得可以根据原始的值类别调用正确的 process 函数。

2024-07-04 07:08:09 571

原创 c++的const

在C++中,常量引用(const reference)是对一个常量的引用。使用常量引用的主要目的是防止引用的对象被修改,同时允许该对象通过引用的方式传递,以避免复制大的对象。在这个综合实例中,展示了如何在类中使用const关键字来定义常量成员变量、常量成员函数、常量参数和常量引用。定义一个引用时,使用&符号。在这个例子中,ref是一个对整数变量a的引用,ref和a指向同一个内存位置,对ref的操作实际上是对a的操作。这是一个名为modify的函数,它接受一个常量引用类型的整数参数value。

2024-07-03 22:55:05 916

原创 c++智能指针

弱指针(std::weak_ptr)是C++11标准库中的一种智能指针,通常与std::shared_ptr一起使用,用于解决std::shared_ptr可能导致的循环引用问题。在这个示例中,我们创建了一个简单的类MyClass,然后演示了如何使用std::unique_ptr和std::shared_ptr来管理动态分配的对象。在这个示例中,我们创建了一个简单的类MyClass,然后演示了如何使用std::unique_ptr和std::shared_ptr来管理动态分配的对象。

2024-07-03 06:32:22 887

原创 c++速成

在 C++ 中,实现线程安全的集合类通常依赖于使用互斥锁来保护数据结构的访问。此外,使用 Boost 库可以简化一些实现。选择具体的数据结构时,需根据实际应用场景来决定,并根据是否需要线程安全来添加相应的保护措施。在C++中,可以使用标准库中的来创建和管理线程。下面将详细演示如何使用线程,包括线程的创建、同步、传递参数、返回值等方面。C++中的lambda表达式是匿名函数,用于简洁地定义和使用函数对象。它们在C++11标准中引入,并在C++14和C++17中得到了进一步增强。

2024-07-03 05:47:35 1050

原创 java treemap

【代码】java treemap。

2024-07-01 04:12:49 228

原创 类变量和实例变量 最佳实践

如果在类中使用的是实例变量而不是静态变量,使用 this 关键字来引用类中的实例变量是一种良好的实践。这有助于清晰地表明变量属于当前实例,并避免与局部变量混淆。在类中使用类变量时,不需要加上 this 关键字。this 关键字通常用于引用实例变量或实例方法,而类变量(静态变量)则是直接通过类名进行访问。

2024-07-01 03:18:53 422

原创 kotlin中`try-catch` 块与 `if` 语句处理异常

是否在有效的数组索引范围内,只有在索引有效的情况下才尝试访问数组元素。这样可以避免抛出和捕获异常,从而提高代码的效率。同时,这种方法的代码可读性也更好,更容易维护和理解。语句来检查数组边界通常更为高效,因为它避免了异常的生成和处理过程。异常可能不是最佳实践,因为异常处理通常比条件检查要慢。

2024-06-28 09:41:50 129

原创 读书是一种生活

世界报20世纪百大书籍 : https://zh.wikipedia.org/zh-cn/%E4%B8%96%E7%95%8C%E5%A0%B120%E4%B8%96%E7%B4%80%E7%99%BE%E5%A4%A7%E6%9B%B8%E7%B1%8Dttu图书馆:https://z-lib.id/《美丽的约定》 (Le Grand Meaulnes) by 亚兰·傅尼叶 (Alain-Fournier)这本书讲述了一段关于青春、友谊和爱情的故事。主人公奥古斯特·莫尼尔在乡村学校结识了新来的同

2024-06-27 17:48:47 85

原创 adb删除系统应用

错误信息 “adb.exe: more than one device/emulator” 意味着有多个设备连接到电脑,ADB 无法确定要操作哪个设备。打开命令提示符或终端: 在电脑上打开命令提示符(Windows)或终端(Mac、Linux)。连接手机到电脑: 使用 USB 数据线将手机连接到电脑,并确保已启用 USB 调试模式。如果设备连接成功,将看到设备的序列号。找到要删除的应用的包名。

2024-06-27 09:34:09 480

原创 tensorflow神经网络

训练一个图像识别模型,使用TensorFlow,需要以下步骤。这里是一个详细的步骤指南:1. 安装所需的库首先,确保安装了TensorFlow和其他所需的库。pip install tensorflow numpy matplotlib2. 数据准备需要收集和准备训练数据。每个类别应有足够多的样本图像。假设有以下目录结构:catanddog/ train/ cat/ cat1.jpg cat2.jpg ... dog/

2024-06-27 08:18:10 1201

原创 Python 中字符串修饰符

前缀,可以在字符串中嵌入表达式。这些表达式在运行时会被计算,并将结果插入到字符串中。这种字符串被称为 f-string,是在 Python 3.6 引入的。前缀,可以告诉 Python 字符串中的所有反斜杠都是普通字符,而不是转义字符。前缀来创建字节字符串,而不是文本字符串。但是,在 Python 2 中,它用于创建 Unicode 字符串。在 Python 3 中,所有字符串默认都是 Unicode,因此。可以组合使用字符串修饰符。三重引号可以用于定义跨多行的字符串。) 或三重双引号 (

2024-06-26 21:30:48 293

原创 java的 queue

在 Java 中,Queue 是一个接口,属于 Java 集合框架的一部分,提供了队列的数据结构。队列遵循先进先出 (FIFO) 的顺序,最早添加的元素最先被移除。在这种模式中,生产者线程向队列中添加元素,而消费者线程从队列中取出元素。在 java.util.concurrent 包中,有几种特殊的队列实现,这些队列支持阻塞操作。Queue 接口扩展自 Collection 接口,包含了基本的队列操作方法。一个使用优先级队列实现的无界阻塞队列,其中的元素只有在其延迟期满时才能被获取。

2024-06-26 07:41:29 649

原创 kotlin的null

在 Kotlin 中,null是一种特殊的值,它表示变量没有引用任何对象。

2024-06-25 10:16:48 698

原创 kotlin 携程 withTimeoutOrNull

withTimeoutOrNull 是 Kotlin 协程库中的一个函数,它用于在指定的时间内执行一个协程,如果协程在超时时间内完成,则返回协程的结果,否则返回 null。

2024-06-25 00:30:23 514

原创 kotlin 携程

挂起函数可以在不阻塞线程的情况下挂起执行,并在稍后恢复。协程运行在特定的上下文中,调度器 (Dispatcher) 决定了协程运行的线程或线程池。决定了协程在哪个线程池上执行。是一个协程的句柄,它表示协程的生命周期,并允许显式地取消协程。要使用挂起函数,需要在协程上下文中启动它。它们只能在协程或另一个挂起函数内调用。可以组合多个挂起函数,实现复杂的异步操作。启动一个新的协程,不返回任何结果。,它的子协程失败不会取消父协程。上执行代码块,并返回结果。协程中的异常处理可以使用。协程中的异常处理可以使用。

2024-06-25 00:10:32 436

原创 kotlin require和assert 区别

require 用于函数参数的验证。如果条件不满足,它会抛出 IllegalArgumentException 异常。这通常用于对公共 API 的输入参数进行检查,以确保它们符合预期。assert 用于检查程序中的某些条件是否成立,只在调试模式下有效。如果条件不满足,它会抛出 AssertionError 异常。这通常用于开发和测试阶段,确保程序逻辑的正确性。在 Kotlin 中,require 和 assert 是两种用于验证条件的方法,主要区别在于它们的使用场景和触发机制。require 示例。

2024-06-24 23:44:25 326

原创 pthon 绘制3d立体点云

import plotly.graph_objects as goimport numpy as npdef draw_one_cloud(cloud, color=‘blue’):fig = go.Figure(data=[go.Scatter3d(x=cloud[:, 0],y=cloud[:, 1],z=cloud[:, 2],mode=‘markers’,marker=dict(size=4,color=color, # 设置所有点的颜色opacity=0.8))])de

2024-06-24 16:55:12 242

原创 大端和小端存储

在计算机科学中,数据存储的“字节顺序”是指数据的字节在内存中排列的顺序。主要有两种字节序:大端(Big Endian)和小端(Little Endian)。

2024-06-24 11:03:55 431

原创 P2P去中心化网络的重点组件

智能合约是一种嵌入在区块链上的自执行程序,以代码形式定义合约条款,当预定条件满足时,合约自动执行。

2024-06-24 08:48:46 651

原创 kotlin 跨平台 粗略步骤

如果需要,可以自定义这些源码集的名称,但需要在项目的文件中明确指定。假设想将iosMain重命名为iosSourcekotlin {jvm() // JVM支持ios("iosSource") // 自定义iOS源码集名称为 iosSourceandroid() // Android支持// 配置 commonMain 源码集// 配置自定义的 iosSource 源码集// 配置 androidMain 源码集├── shared│ ├── src。

2024-06-23 16:39:53 597

原创 jetpack compose的@Preview和自定义主题

在Jetpack Compose中自定义主题涉及到定义自己的颜色、字体和形状等属性,并将它们应用到整个应用程序中。在src/main/java/包名/ui/theme/Color.kt在src/main/java/包名/ui/theme/Type.kt),),定义应用程序的形状样式。在src/main/java/包名/ui/theme/Shape.kt。

2024-06-23 09:56:44 313

原创 jetpack compose 在两个页面间切换

定义两个简单的Composable函数,分别代表两个页面。

2024-06-22 12:00:20 960

原创 安卓 jetpack compose

以下是 Jetpack Compose 中常用的一些组件的列表:演示:1. Column(垂直布局) 用于在垂直方向上排列子组件。可以通过 和 控制子组件的排列方式和对齐方式。2. Row(水平布局) 用于在水平方向上排列子组件。与 类似, 也支持 和 属性。3. Box(层叠布局) 允许子组件在层叠的形式中存在,可以用来创建重叠的UI效果。4. LazyColumn 和 LazyRow(滚动列表) 和 类似于 RecyclerView,在展示大量数据时非常有用。5. Sca

2024-06-22 10:26:16 867

原创 spring-boot-starter-websocket 客户端 服务端 例子

启动Spring Boot应用程序,然后运行客户端。客户端会发送一条消息到服务器,服务器应该会把相同的消息回传给客户端。这里是一个简单的WebSocket客户端示例,使用标准Java WebSocket API。创建一个配置类来启用和配置WebSocket。

2024-06-19 13:23:30 218

原创 java kotlin 命令行解析

是一个用于解析命令行参数的库,使用方便且功能强大。下面是一个详细的示例演示如何在 Java 中使用。是一个专门用于解析命令行参数的库,功能强大且易于使用。下面是一个完整的示例代码,演示如何使用。这些参数就是从命令行传递过来的。首先,使用 Maven 添加。当程序启动时,主方法(

2024-06-19 07:55:39 351

原创 Kotlin 中,data class 和普通 class

自动生成常用方法:主要用于存储数据:声明方式:例子:普通 不自动生成常用方法:更通用:声明方式:例子:比较特性普通 用途主要用于存储数据通用用途,适合包含复杂逻辑的类自动生成方法, , , , 不自动生成,需要手动实现声明方式代码简洁性简化了数据类的实现,减少样板代码需要更多的手动实现示例以下是一个完整的示例,展示了 和普通 的区别:

2024-06-18 20:46:24 503

原创 kotlin `FloatArray` 和 `Array<Float>`

【代码】kotlin `FloatArray` 和 `Array<Float>`

2024-06-17 21:47:10 226

原创 keras 和 tensorflow主要组件

除了内置的回调函数,Keras 还允许定义自己的回调函数。自定义回调函数需要继承类,并重写相应的方法。")# 示例。

2024-06-17 13:03:01 1070

原创 音频转3d图

【代码】音频转3d图。

2024-06-17 12:17:37 96

原创 java.util.ConcurrentModificationException

java.util.ConcurrentModificationException 是 Java 中的一个运行时异常,它发生在我们试图在单线程的环境下修改一个集合对象的同时,另一个线程也在修改同一个集合对象时。这种情况下,迭代器会检测到集合的结构发生了变化,从而抛出 ConcurrentModificationException 异常。这个异常的根本原因是,在迭代器创建后,如果试图通过任何方式修改集合对象的结构,迭代器就会抛出 ConcurrentModificationException 异常。

2024-06-16 18:22:25 242

空空如也

空空如也

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

TA关注的人

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