C++ 入门导引(这是一篇由GPT4写的文章)

news2024/11/25 23:49:58

C++ 应用场景

C++ 是一种广泛应用的编程语言,拥有多种使用场景。以下是 C++ 的一些主要应用场景:

​1. 游戏开发:C++ 常用于游戏开发,尤其是大型 3D 游戏。它可以轻松地与图形 API(如 OpenGL 和 DirectX)集成,并优化性能。
2. 系统编程:由于 C++ 提供了对内存和底层系统资源的直接访问,它被广泛用于操作系统、设备驱动程序和嵌入式系统等领域。
3. 高性能计算:C++ 在科学计算、金融、工程等领域中被广泛使用,其中对运行速度和内存使用要求较高。C++ 可以对自身代码进行优化,以提高执行速度。
4. 跨平台应用:C++ 被用于跨平台应用的开发,因为它有着广泛的编译器支持,可以在不同操作系统和硬件配置上运行。
5. 桌面应用:使用诸如 Qt 等库,C++ 可以用于开发跨平台的图形界面应用程序。
6. 网络编程:C++ 适用于服务器端应用程序、网络管理和网络通信等领域,可提供更高的运行速度和性能。
7. 数据库引擎:许多数据库引擎(如 MySQL 和 MongoDB)都是用 C++ 编写的,这得益于其对低级系统的访问能力和性能优化。
8. 编译器和解释器:C++ 可用于开发编程语言的编译器和解释器,例如 Clang(C/ObjC/C++ 编译器)。
9. 机器学习与人工智能:尽管现今Python在这一领域的应用更为广泛,但 C++ 也有诸多高性能的机器学习库(如 Caffe 和 Dlib),适用于需要实时性能和资源优化的场景。

这些只是 C++ 应用的一部分。它在许多其他领域也被大量应用,比如 CAD/CAM 设计软件和物联网(IoT)等。

扩展参考:https://www.stroustrup.com/applications.html

C++ 语言概述

产生背景

C++ 由 Bjarne Stroustrup 在 1980 年代初创立,最初被称为 “C with Classes”。C++ 设计的目的是为了弥补 C 语言在支持抽象结构、代码复用和组织方面的不足。随着时间的推移,C++ 得到了持续的发展,添加了更多高级特性,并形成了目前功能强大的编程语言。

设计理念

C++ 旨在支持多范式编程,包括过程式编程、面向对象编程和泛型编程。设计理念强调:

  1. 对 C 语言的兼容性,使得 C++ 可以直接使用 C 语言的库和代码。

  2. 支持底层操作和高级抽象,实现软件资源的强大管理。

  3. 高性能和可扩展性,适应各种复杂的应用场景。

语言特性

C++ 的主要语言特性包括:

  1. 面向对象编程支持,如类、对象、封装、继承和多态等。

  2. 泛型编程支持,包括模板类和模板函数。

  3. 手动内存管理以及 RAII 技术。

  4. 运算符重载和自定义类型转换。

  5. 异常处理机制。

  6. 命名空间支持,有助于避免命名冲突。

标准库

C++ 标准库(Standard Template Library,STL)提供了一组通用的模板类和函数,包括容器、迭代器、算法等,用于支持各种常见任务,例如:

  1. 容器:向量(vector)、列表(list)、队列(queue)、栈(stack)、哈希表(unordered_map)等。

  2. 算法:查找、排序、复制、替换等通用操作。

  3. 输入/输出流:ifstream, ofstream, stringstream等,用于文件和字符串的读写操作。

  4. 多线程支持,以及 threading 全局对象供同步和互斥等目的使用。

  5. 智能指针(如 shared_ptr 和 unique_ptr)实现自动资源管理。

  6. 正则表达式库、文件系统、时间和日期处理等。

工程实践

C++ 在实际工程实践中有广泛应用,如:

  1. 使用面向对象设计,将问题分解为对象和相互作用的组件,提高代码组织和可维护性。

  2. 利用泛型编程解决通用问题,提高代码复用性。

  3. 遵循 RAII 技术进行资源管理,降低内存泄漏风险。

  4. 高性能场景下,优化数据结构和算法。

  5. 使用合适的编译器和工具链,确保多平台兼容性。

  6. 使用智能指针和异常处理来确保资源在异常情况下得到正确释放。

C++ 是一种强大的编程语言,在众多领域具有广泛的应用场景。通过理解 C++ 的设计理念、特性、标准库以及工程实践,开发者可以充分利用此语言构建高性能、可扩展的应用程序。

C++ 标准发展

在这里插入图片描述

C++ 作为一门编程语言,自 1980 年代初推出以来,已经经历了多个版本的发展。下面是 C++ 标准发展历史的简要介绍:

  1. C++ 前身(1983-1989):C++ 最早称为 “C with Classes”,由 Bjarne Stroustrup 于 1983 年首次发布。这个版本的 C++ 主要是在 C 语言的基础上增加了对面向对象编程的支持。

  2. C++98(1989-1998):在这个时期,C++ 经历了多个非正式版本(如 C++ 2.0、C++ 2.1 等)。1998 年,C++ 标准委员会发布了第一个正式标准 —— ISO/IEC 14882:1998,即 C98。这个版本包括了大量新特性,如异常处理、命名空间、模板等,并引入了 C 标准库(如 STL 这种通用的数据结构和算法库)。

  3. C++03(1998-2003):C03 是 C98 的一个小修订版本,主要修复了 C98 中的一些缺陷和不明确的规定。C03 标准在 2003 年发布,全名为 ISO/IEC 14882:2003。

  4. C++11(2003-2011):C11 是 C 的一个重大升级版本,也被称为 “C0x”。它在 C03 的基础上引入了许多新特性和改进,如智能指针、范围 for 循环、基于范围的初始化器列表、新的类型推断(auto)、lambda 表达式等。这个版本的标准在 2011 年发布,全名为 ISO/IEC 14882:2011。

  5. C++14(2011-2014):C14 是 C11 的一个增量升级,添加了更多新特性,如泛型 Lambda 表达式、编译时整数序列、二进制字面量、返回类型推断等。C++14 标准于 2014 年发布,全名为 ISO/IEC 14882:2014。

  6. C++17(2014-2017):C17 再次扩展了 C 语言和库的功能,引入了结构化绑定、并行算法、文件系统库、标准变体(std::variant)等许多实用特性。C++17 标准于 2017 年发布,全名为 ISO/IEC 14882:2017。

  7. C++20(2017-2020):C20 是 C 发展历史上的又一次大型升级。这个版本引入了许多先进特性,如概念、范围、模块、协程等。C++20 标准于 2020 年发布,全名为 ISO/IEC 14882:2020。

这些版本代表了 C++ 的发展历程。每一个新版本都为 C++ 带来更多功能和改进,使得语言变得越来越强大。目前,C++ 仍在持续发展中,下一个版本(C++23)已经在筹备中。

C++ 新特性

C++11 新特性

  1. 自动类型推断(auto):使用 auto关键字让编译器自动推导变量类型。

  2. 范围 for 循环:简化容器或数组元素的逐个访问。

  3. 智能指针:std::shared_ptrstd::unique_ptr 等智能指针类型,用于实现自动内存管理。

  4. Lambda 表达式:定义匿名函数对象,简化了一些特定任务的编写。

  5. 基于范围的初始化器列表:用大括号 {} 初始化聚合类型对象,例如数组、向量等。

  6. decltype:用于自动推导表达式的类型。

  7. 最终修饰符(final):用于防止类的进一步派生或虚函数的覆盖。

  8. override 修饰符:强制检查派生类中的虚函数重载。

  9. 静态断言(static_assert):编译时断言检查。

  10. 基于范围的 switch 语句:针对不同类型实例执行不同的操作时更加简洁。

  11. 线程支持:新增 <thread><mutex> 等库,支持多线程编程。

  12. 无序容器:新增无序容器(如 std::unordered_mapstd::unordered_set),这些容器基于哈希表实现。

  13. nullptr:空指针常量,取代 C 风格的 NULL 键。

  14. 委托构造函数:允许一个构造函数调用同类中的其他构造函数。

  15. 移动语义(Move semantics):通过 && 引用和 std::move 实现对象的移动,避免不必要的拷贝。

C++17 新特性

  1. 结构化绑定(Structured bindings):方便地解包和访问元组、数组、结构体等聚合类型中的元素。

  2. if constexpr:编译时条件选择,提高编译效率。

  3. 内联变量(inline variables):在头文件中声明和定义内联变量,避免多重定义。

  4. 文件系统库:新增 <filesystem> 库,提供对文件和目录的操作支持。

  5. std::optional:用于具有可选值的对象,代替指针或特殊值。

  6. std::variant:用于表示一个值,该值可以属于多种数据类型之一。

  7. . std::any:任意类型的对象容器。

  8. 并行算法:在 <algorithm><numeric> 头文件中新增并行算法。

  9. constexpr if 语句:在编译时执行条件语句,用于简化模板元编程。

  10. 折叠表达式(Fold expressions):用于简化可变参数模板中的操作,例如加法、乘法、逻辑操作等。

  11. std::string_view:非修改的字符串引用,提高字符串操作的性能。

  12. std::invoke 函数:统一的可调用对象调用方式。

C++20 新特性

  1. 概念(Concepts):约束模板参数的类型,提高模板编程的可读性和编译时错误提示。

  2. 范围(Ranges):一组实用工具,用于快速、简洁地创建和操作序列。

  3. 模块(Modules):改进模块化编程,加快构建速度。

  4. 协程(Coroutines):轻量级用户级线程,用于实现异步编程和更高效的任务切换。

  5. constexpr 动态分配:允许在 constexpr 函数和 constinit 变量初始化中使用动态分配。

  6. <chrono>库的时钟和日期扩展:提供了对时区和日期的操作支持。

  7. <bit> 库:加入计算机硬件位处理的实用工具。

  8. 三种新的运算符:<=> (三路比较运算符)、&&= (逻辑与赋值)、||= (逻辑或赋值)。

  9. 编译时 eval 函数:实现运行时表达式美化的编译期计算。

  10. constinit 关键字:确保变量在程序启动时进行初始化。

  11. 类似 lambda 的模板:允许在泛型 lambda 表达式中使用无类型模板参数。

  12. 带有初始化语句的 switch 语句:在 switch 语句中进行条件判断前执行初始化语句。

  13. <format>库:提供了类型安全的字符串格式化功能,类似于 C 语言中的 printf。

以上仅列举C++ 11、C++ 17、C++ 20 部分新特性。

C++ 优劣分析

优势

  1. 性能:C++ 具有出色的性能,支持底层操作和内存管理,适用于对性能要求较高的场景,如游戏开发、操作系统和高性能计算等。

  2. 多范式编程:C++ 支持多范式编程,包括过程式编程、面向对象编程和泛型编程,使得开发者可以根据问题特性灵活选取合适的解决方案。

  3. 低级访问能力:C++ 允许开发者直接访问内存、硬件资源和系统调用,有利于优化性能和使用底层系统功能。

  4. 跨平台支持:C++ 具有广泛的编译器支持,使得编写的代码可以在不同操作系统和硬件平台上运行。

  5. 丰富的标准库:C++ 提供了许多标准库,如 STL,它包含了常见数据结构和算法,可以提高开发效率。

  6. 与 C 语言兼容性:C++ 保持了对 C 语言的兼容性,使得 C 语言的大量库可以轻松地在 C++ 中使用。

劣势

  1. 陡峭的学习曲线:C++ 的语法复杂,拥有众多特性,初学者需要投入较长时间来学习和熟练掌握。

  2. 手动内存管理:C++ 需要开发者手动管理内存分配和回收,这可能导致内存泄漏、内存访问错误等问题。虽然现代 C++ 通过智能指针提供了自动资源管理,但对初学者而言,仍可能存在挑战。

  3. 编译时间较长:C++ 的编译时间相对较长,尤其是在包含大量模板和头文件的项目中,这可能降低开发效率。

  4. 缺少安全机制:C++ 允许直接内存访问和指针操作,容易导致潜在的安全隐患,如缓冲区溢出。

  5. 不足的诊断信息:当使用模板编程时,C++ 的编译器错误信息可能很难理解,这给定位问题、解决错误带来挑战。

C++ 编程范式

C++ 是一种支持多种编程范式的编程语言。在 C++ 中,你可以根据需要,组合并采用不同的编程范式。以下是一些主要的 C++ 编程范式:

过程式编程 (Procedural Programming)

过程式编程是一种基于过程(或函数)的编程范式。在这种方式中,程序是一系列一步步执行的过程。这种编程风格突出重点是如何完成任务,而不是关注数据的结构。

示例:

#include <iostream>

int add(int a, int b) {
    return a + b;
}

int main() {
    int sum = add(5, 3);
    std::cout << "Sum: " << sum << std::endl;
    return 0;
}

面向对象编程 (Object-oriented Programming, OOP)

面向对象编程是一种基于对象的编程范式。对象是程序中的实体,它包含数据(属性)和相关功能(方法)。这种编程风格旨在提高代码的复用性和可维护性。

示例:

#include <iostream>

class Car {
public:
    void start() {
        std::cout << "Car started" << std::endl;
    }
};

int main() {
    Car myCar;
    myCar.start();
    return 0;
}

泛型编程 (Generic Programming)

泛型编程是一种基于参数化类型的编程范式。在这种方式中,编写通用的函数和类,以便它们可以工作于不同的数据类型,从而提高代码的可重用性和效率。

示例:

#include <iostream>

template<typename T>
T my_max(T a, T b) {
    return a > b ? a : b;
}

int main() {
    std::cout << "Max: " << my_max(5, 3) << std::endl;
    std::cout << "Max: " << my_max(4.5, 3.9) << std::endl;
    return 0;
}

函数式编程 (Functional Programming)

函数式编程是一种基于函数概念的编程范式,强调避免更改状态和尽可能无副作用的操作。C++ 支持一定程度的函数式编程,例如 lambda 表达式等。

示例:

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> numbers = {1, 2, 3, 4, 5};
    std::vector<int> doubled_numbers;

    // 使用 Lambda 表达式进行元素的翻倍操作
    std::transform(numbers.begin(), numbers.end(), std::back_inserter(doubled_numbers),
                   [](int n) { return n * 2; });

    std::cout << "Doubled numbers: ";
    for (int num : doubled_numbers)
        std::cout << num << ' ';
    std::cout << std::endl;

    return 0;
}

利用这些编程范式,你可以根据项目需求和使用环境来选择最佳的代码组织和结构。

C++ 学习姿势分享

学习 C++ 的过程可以分为几个阶段。在这里,我将分享一些建议和资源,帮助你更有效地学习 C++:

  1. 基础知识

○ 学习 C++ 的基本语法,例如变量、数据类型、操作符、条件结构、循环等。

○ 学会编写和调试简单的 C++ 程序。

○ 常见资源:C++ Primer(Stanley B. Lippman, Josée LaJoie, Barbara E. Moo 著),C++ 教程(cplusplus.com)。

  1. 面向对象编程

○ 学习类、对象、继承、封装和多态等面向对象的概念。

○ 学会设计和实现自定义类。

○ 常见资源:C++ Object Oriented(tutorialspoint.com),Object-Oriented Programming in C++(Robert Lafore 著)。

  1. 标准库 (STL)

○ 学习 C++ 标准库的基本组件:容器、算法和迭代器。

○ 学会使用常用的容器,如 vector、list、map 等。

○ 学会使用泛型算法,如 sort、find、transform 等。

○ 常见资源:Effective STL(Scott Meyers 著),C++ Reference(cppreference.com)。

  1. 泛型编程

○ 学习模板和泛型编程的核心概念。

○ 学会编写模板函数和模板类。

○ 常见资源:C++ Templates(David Vandevoorde, Nicolai M. Josuttis 著),C++ Templates - The Complete Guide(David Vandevoorde, Nicolai M. Josuttis, Douglas Gregor 著)。

  1. C++11/14/17/20 新特性

○ 学习 C++ 随着时间的推移所新增的重要特性,例如 Lambda 表达式、智能指针、线程支持等。

○ 常见资源:Effective Modern C++(Scott Meyers 著),C++11/14/17/20 新特性教程(cplusplus.com)。

  1. 项目实践

○ 尝试使用 C++ 参与开源项目或者创建自己的项目以实践所学知识。

○ 初学者可以从简单的命令行程序开始,然后逐渐过渡到更复杂的项目。

  1. 代码阅读和评审

○ 阅读其他 C++ 开发者的代码,学习其编码风格和设计模式。

○ 和其他开发者讨论代码,以提高自己的技能。

学习 C++ 是一个漫长的过程,需要投入时间和精力。此外,在学习过程中遇到的问题,可以在 Stack Overflow 等网站上寻求帮助。祝你学习顺利!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/578622.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

element-ui树形控件el-tree详解

概述 这里我利用element-ui开发一个vue的树形组件 引入element-ui 安装element-plus cnpm install element-plus --save 安装按需导入 cnpm install -D unplugin-vue-components unplugin-auto-import 修改vite.config.js配置按需加载 import AutoImport from unplugin-a…

云原生架构:创新未来的应用开发和部署范式

点击上方“程序猿技术大咖”&#xff0c;关注并选择“设为星标” 回复“加群”获取入群讨论资格&#xff01; 摘要&#xff1a;本文深入探讨云原生架构的优势、实施指南以及关键技术和工具。通过容器化、微服务架构、持续交付和自动化管理等实践&#xff0c;云原生架构为企业提…

盘点一个Python列表的基础题目

点击上方“Python爬虫与数据挖掘”&#xff0c;进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 随意春芳歇&#xff0c;王孙自可留。 大家好&#xff0c;我是皮皮。 一、前言 前几天在Python最强王者群【eric】问了一个Python列表基础的问题&#x…

web练习第二周

前言&#xff1a;&#xff08;博主个人学习笔记&#xff0c;不用看&#xff09;web练习第二周&#xff0c;仅做出前3题。相比于第一周&#xff0c;难度大幅增加&#xff0c;写题时就算看了wp还是像个无头苍蝇一样到处乱创&#xff0c;大多都是陌生知识点&#xff0c;工具的使用…

购买两块巧克力-第105场力扣夜喵双周赛-java双百方案

一、题目描述 给你一个整数数组 prices &#xff0c;它表示一个商店里若干巧克力的价格。同时给你一个整数 money &#xff0c;表示你一开始拥有的钱数。 你必须购买 恰好 两块巧克力&#xff0c;而且剩余的钱数必须是 非负数 。同时你想最小化购买两块巧克力的总花费。 请你…

【原创】浅谈EtherCAT主站EOE(上)-EOE网络

版权声明&#xff1a;本文为本文为博主原创文章&#xff0c;未经同意&#xff0c;禁止转载。如有问题&#xff0c;欢迎指正。博客地址&#xff1a;https://www.cnblogs.com/wsg1100/ 文章目录 一、EoE二、EoE服务规范EtherCAT主站如何提供EoE服务&#xff1f; 三、EoE网络EOE网…

我用GPT搭建了一个虚拟女友!

Datawhale干货 作者&#xff1a;仲泰&#xff0c;Datawhale成员 1. 作者知乎&#xff1a;https://www.zhihu.com/people/yong-tan-39-67 2.我用GPT搭建了一个虚拟女友-哔哩哔哩&#xff1a;https://b23.tv/GYYwMcq 3. 五月学习&#xff1a;ChatGPT应用组队学习来了&#xff01…

原生canvas标签画线——直线、平行线(设置不同颜色和宽度)

1.一条直线 效果图如下&#xff1a; 代码如下&#xff1a; <!--* Author: your name* Date: 2023-05-24 17:50:28* LastEditTime: 2023-05-24 18:06:39* LastEditors: localhost* Description: In User Settings Edit* FilePath: /canvas/day01/体验canvas.html --> &l…

Python潮流周刊#3:PyPI 的安全问题

△点击上方“Python猫”关注 &#xff0c;回复“1”领取电子书 你好&#xff0c;我是猫哥。这里记录每周值得分享的 Python 及通用技术内容&#xff0c;部分为英文&#xff0c;已在小标题注明。&#xff08;标题取自其中一则分享&#xff0c;不代表全部内容都是该主题&#xff…

网站部署与上线(2)远程连接云服务器或虚拟机

文章目录 搭建服务器部署环境配置pm2 可能听说过Windows系统提供的远程桌面。实际上&#xff0c;Linux中也提供了类似的功能&#xff0c;其远程连接基于命令行。 在Windows端连接Linux需要使用SSH软件&#xff0c;最流行的有Xshell和SecureCRT。 首先确定需要连接的云服务器或虚…

Pyside6-第一篇-创建第一个窗口

Hi&#xff0c;今天起开始更新Pyside6教程了&#xff0c;从0-1开始更新&#xff0c;过程比较的久&#xff0c;一点点来。 今天&#xff0c;我们先来搭建环境。 我的环境&#xff1a; ❝ pycharm 2021.3.3(版本随意&#xff0c;只要不是很低就行)Python版本3.95Pyside版本6.50 ❞…

【FreeRTOS】——中断优先级设置中断相关寄存器临界段代码保护调度器挂起与恢复

目录 前言&#xff1a; 一、中断优先级设置 二、中断相关寄存器&#xff08;STM32-Cortex M3&#xff09; 三、临界段代码保护 四、任务调度器的挂起和恢复 总结&#xff1a; 前言&#xff1a; 博客笔记根据正点原子视频教程编辑&#xff0c;仅供学习交流使用&#xff0…

电子器件系列38:mos管散热片

板子上需要用到一个封装为to220的mos管&#xff0c;还得立起来散热&#xff0c;得要加一个散热片。 散热片简介&#xff0c;分类&#xff1f;用途&#xff1f;如何使用&#xff1f;封装&#xff1f;使用注意事项&#xff1f; 简介&#xff1a; mos散热片是一种给电器中的易发热…

线程池实现

一、线程池介绍 1&#xff09;应用场景 当并发数很多的时候&#xff0c;并且每个线程执行时间很短的任务&#xff0c;这样就会频繁创建线程&#xff0c;而这样的频繁创建和销毁线程会大大降低系统的执行效率。对于这种场景我们可以使用线程池来复用之前创建的线程&#xff0c…

Linux—基础篇:目录结构

1、基本介绍 1、linux的文件系统是采用级层式的树状目录结构&#xff0c;在此结构的最上层是根目录“/”,然后在此目录下创建其他目录 2、在Linux的世界里&#xff0c;一切皆文件&#xff01;&#xff01;&#xff01; 2、具体的目录结构 不用背&#xff0c;知道即可 2.1、…

价值1000元的稀有二开版的无限坐席在线客服系统源码+教程

demo软件园每日更新资源,请看到最后就能获取你想要的: 1.价值1000元的稀有二开版的无限坐席在线客服系统源码教程 价值1000元的稀有二开版的无限坐席在线客服系统源码 直接一键安装的&#xff0c;启动两个端口就行了&#xff0c;安装倒是简单 类型&#xff1a;在线客服系统 …

MathType7精简版数学公式编辑器

许多简单的数学公式&#xff0c;我们可以使用输入法一个个找到特殊符号并输入&#xff0c;但是对于高等数学中较多复杂的公式符号&#xff0c;是很难使用输入法完成的。那么&#xff0c;我们就需要借助公式编辑器&#xff0c;这里推荐一款我自己正在使用的MathType。 MathType是…

Redis单机数据库

文章目录 一、Redis数据库Redis数据库redisDb数据库键空间——dict过期字典——expires设置键的生存时间移除键的过期时间返回键的生存时间 Redis的过期删除策略1、定期删除2、惰性删除3、内存淘汰机制 过期键处理1、RDB功能对过期键的处理2、AOF功能对过期键的处理3、复制功能…

chatgpt赋能python:Python隐藏变量:探秘程序内部的“奥秘”

Python 隐藏变量&#xff1a;探秘程序内部的“奥秘” 作为一门高级编程语言&#xff0c;Python备受程序员的欢迎。但是&#xff0c;你是否了解Python隐藏变量&#xff1f;这些看似神秘的变量对程序员的编码工作有哪些影响呢&#xff1f;本篇文章将为您详细介绍Python隐藏变量的…

Hive 实现ACID

Hive官方提示&#xff0c;Hive在版本0.14之后可以支持对表数据的UPDATE和DELETE&#xff1a; 具体操作如下&#xff1a; -- 环境参数设置 set hive.support.concurrencytrue; set hive.txn.managerorg.apache.hadoop.hive.ql.lockmgr.DbTxnManager;-- 建表&#xff0c;以ORC的…