最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Windows配置VSCode+CMake+Ninja+Boost.Test的C++開(kāi)發(fā)環(huán)境(教程詳解)

 更新時(shí)間:2020年05月12日 08:54:53   作者:JohnHany  
這篇文章主要介紹了Windows配置VSCode+CMake+Ninja+Boost.Test的C++開(kāi)發(fā)環(huán)境,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

平時(shí)習(xí)慣了在Linux環(huán)境寫(xiě)C++,有時(shí)候切換到Windows想繼續(xù)在同一個(gè)項(xiàng)目上工作,重新配置環(huán)境總是很麻煩。雖然Windows下用Visual Studio寫(xiě)C++只需要雙擊個(gè)圖標(biāo),但我還是想折騰一下VS Code的環(huán)境配置。原因主要有兩點(diǎn):一是個(gè)人習(xí)慣上各種語(yǔ)言都在VS Code里面寫(xiě),利用Git同步代碼可以很方便地在不同平臺(tái)開(kāi)發(fā)同一個(gè)項(xiàng)目;二是有些情形下無(wú)法使用圖形化界面,比如為Git配置CI(持續(xù)性集成)時(shí)顯然不能用Visual Studio這個(gè)圖形化的IDE來(lái)執(zhí)行Windows環(huán)境的測(cè)試。

本文涉及的環(huán)境和工具版本:

  • Windows 10
  • VS Code 1.45.0
  • C/C++(ms-vscode.cpptools)插件0.28.0.insider3
  • CMake(twxs.cmake)插件0.0.17
  • CMake Tools(ms-vscode.cmake-tools)插件1.3.1
  • Visual Studio IntelliCode(visualstudioexptteam.vscodeintellicode)插件1.2.7
  • Visual Studio Community 2019 (需要調(diào)用VS提供的MSVC編譯工具,以及相應(yīng)的頭文件和庫(kù)文件)
  • CMake 3.17.2
  • Ninja 1.10.0
  • Boost 1.73.0

主要內(nèi)容

1 創(chuàng)建C++項(xiàng)目

2 安裝Visual Studio

3 安裝CMake和Ninja

4 下載和編譯Boost

4.1 Command Prompt的使用

4.2 編譯Boost

5 命令行編譯和測(cè)試

6 配置VS Code

6.1 settings.json

6.2 c_cpp_properties.json

6.3 tasks.json

6.4 launch.json

6.5 CMakeLists.txt

6.6 編譯、測(cè)試和調(diào)試

創(chuàng)建C++項(xiàng)目

VSCode及插件的安裝過(guò)程本文暫不介紹,這里直接給出項(xiàng)目的文件結(jié)構(gòu)和代碼。

項(xiàng)目結(jié)構(gòu)如下。 .vscode 文件夾里面的3個(gè)json文件用來(lái)配置VS Code,第二個(gè)文件夾里面包含對(duì)LeetCode某一個(gè)問(wèn)題的解答( solution.hppsolution.cpp ), solution_test.cpp 用來(lái)執(zhí)行單元測(cè)試。最下面的 CMakeLists.txt 文件用來(lái)配置CMake,給出項(xiàng)目的編譯規(guī)則。

這里先給出C++部分的代碼,其他文件的內(nèi)容會(huì)在后面給出。

solution.hpp

#ifndef SOLUTION_HEADER
#define SOLUTION_HEADER
#include <iostream>
#include <vector>
#include <unordered_set>
using namespace std;
class Solution {
public:
 vector<int> intersection(vector<int>& nums1, vector<int>& nums2);
};
#endif
solution.cpp
#include "solution.hpp"
static auto x = []() {
 // turn off sync
 std::ios::sync_with_stdio(false);
 // untie in/out streams
 cin.tie(NULL);
 return 0;
}();
vector<int> Solution::intersection(vector<int>& nums1, vector<int>& nums2) {
 if (nums1.size() > nums2.size())
 swap(nums1, nums2);
 unordered_set<int> A(nums1.begin(), nums1.end()), C;
 for (auto& i : nums2) {
 if (A.find(i) != A.end())
  C.insert(i);
 }
 return vector<int>(C.begin(), C.end());
}

solution.cpp

#include "solution.hpp"

static auto x = []() {
 // turn off sync
 std::ios::sync_with_stdio(false);
 // untie in/out streams
 cin.tie(NULL);
 return 0;
}();


vector<int> Solution::intersection(vector<int>& nums1, vector<int>& nums2) {
 if (nums1.size() > nums2.size())
 swap(nums1, nums2);
 unordered_set<int> A(nums1.begin(), nums1.end()), C;
 for (auto& i : nums2) {
 if (A.find(i) != A.end())
  C.insert(i);
 }
 return vector<int>(C.begin(), C.end());
}

solution_test.cpp

#define BOOST_TEST_MODULE SolutionTest

#include "solution.hpp"
#include <boost/test/unit_test.hpp>

BOOST_AUTO_TEST_SUITE(SolutionSuite)

BOOST_AUTO_TEST_CASE(PlainTest1)
{
 vector<int> nums1{1,2,2,1};
 vector<int> nums2{2,2};
 vector<int> results = Solution().intersection(nums1, nums2);

 vector<int> expected{2};

 sort(results.begin(), results.end());
 sort(expected.begin(), expected.end());
 BOOST_CHECK_EQUAL_COLLECTIONS(results.begin(), results.end(), expected.begin(), expected.end());
}

BOOST_AUTO_TEST_CASE(PlainTest2)
{
 vector<int> nums1{4,9,5};
 vector<int> nums2{9,4,9,8,4};
 vector<int> results = Solution().intersection(nums1, nums2);

 vector<int> expected{9,4};

 sort(results.begin(), results.end());
 sort(expected.begin(), expected.end());
 BOOST_CHECK_EQUAL_COLLECTIONS(results.begin(), results.end(), expected.begin(), expected.end());
}

BOOST_AUTO_TEST_SUITE_END()

安裝Visual Studio

這里不詳述VS的安裝過(guò)程,只是提示一下需要安裝的組件。

需要注意Visual Studio Community 2019 Preview版本在編譯Boost不能被正確識(shí)別,需要安裝正式版。Visual Studio Community 2017/2019 兩個(gè)版本我都試驗(yàn)過(guò),這里以2019版本為例。

只需要安裝“使用C++的桌面開(kāi)發(fā)”這一套組件就可以了。

安裝CMake和Ninja

CMake可以下載名為cmake-3.17.2-win64-x64.msi 的安裝包來(lái)安裝,Ninja 下載之后只有一個(gè)可執(zhí)行文件,可以隨意放在一個(gè)目錄下。

安裝過(guò)程暫不詳述,只需要注意安裝完成之后要設(shè)置一下環(huán)境變量。

設(shè)置好環(huán)境變量之后,可以重新打開(kāi)命令行工具或終端,檢查一下CMake和Ninja的版本,看是否設(shè)置成功。

下載和編譯Boost

Boost可以從這個(gè)鏈接下載: https://dl.bintray.com/boostorg/release/1.73.0/source/  ,然后解壓到某個(gè)目錄下。

Boost本身是header-only的,即大部分情況下只需要包含其頭文件就能直接調(diào)用。但為了便于把我們自己的程序鏈接到Boost的單元測(cè)試模塊(Boost.Test),這里需要編譯一下Boost,產(chǎn)生靜態(tài)庫(kù)文件。

Command Prompt的使用

由于我們之前已經(jīng)安裝了Visual Studio以及在Windows平臺(tái)編譯C++所需的編譯工具和依賴(lài)庫(kù),所以我們可以直接利用VS提供的環(huán)境來(lái)編譯Boost。

在開(kāi)始菜單的“Visual Studio 2019”目錄下可以發(fā)現(xiàn)幾個(gè)命令行工具,我們可以打開(kāi)一個(gè)名為“x64 Native Tools Command Prompt for VS 2019”的命令行工具,這個(gè)圖標(biāo)在硬盤(pán)上對(duì)應(yīng)到 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat 這個(gè)腳本。該腳本的作用是把MSVC和Windows SDK的包含路徑、庫(kù)路徑等添加到環(huán)境變量,然后打開(kāi)一個(gè)cmd命令行。所以在這個(gè)cmd運(yùn)行期間能夠直接檢測(cè)到編譯C++所需的所有依賴(lài)項(xiàng)。

我們可以試著在這個(gè)cmd當(dāng)中輸入 SET ,查看已經(jīng)生效的所有環(huán)境變量。

利用這些信息,我們?cè)诔R?guī)的cmd或PowerShell里也能正常編譯C++代碼。具體的過(guò)程會(huì)在后面介紹。

默認(rèn)cmd的字體有點(diǎn)難看,我個(gè)人習(xí)慣在Windows Terminal 里面開(kāi)一個(gè)cmd終端,然后執(zhí)行下面的命令:

> "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"

這就可以讓我們的新終端也能夠檢測(cè)到MSVC環(huán)境,如下圖所示。

編譯Boost

然后, cd 到Boost的根目錄,執(zhí)行下面的命令:

> bootstrap.bat
> b2 --prefix=build install

等待編譯完成之后,在 build\lib 目錄下會(huì)出現(xiàn)一大堆 .lib 文件,我們只會(huì)用到 libboost_unit_test_framework-vc142-mt-gd-x64-1_73.lib 這一個(gè)文件。

當(dāng)然,如果只想編譯單元測(cè)試模塊,可以用下面的命令:

> b2 address-model=64 architecture=x86 
--with-test link=static --prefix=build install

命令行編譯和測(cè)試

這里我們先在命令行里編譯C++項(xiàng)目,并運(yùn)行單元測(cè)試。 cd 到項(xiàng)目目錄下,然后執(zhí)行以下命令:

> mkdir build
> cd build
> cmake -G "Ninja" ..
> ninja test_main
> test_main.exe

在Windows平臺(tái)上,生成工具可以選擇VS提供的NMAKE,也可以用Ninja。微軟的NMAKE類(lèi)似于Linux平臺(tái)的make工具。按照這個(gè) 視頻 的介紹,Ninja的編譯速度要比NMAKE快一些。

可以發(fā)現(xiàn),在 vcvars64.bat 所提供的環(huán)境下,使用的是VS所安裝的CMake和Ninja,版本號(hào)比我們自己安裝都要老一些。下面我們介紹如何在VS Code中配置C++的編譯和測(cè)試環(huán)境。

配置VS Code

settings.json

打開(kāi)VS Code的設(shè)置,在 settings.json 中添加下面幾行內(nèi)容,可以起到類(lèi)似 vcvars64.bat 的作用:

{
 "terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe",
 "terminal.integrated.env.windows": {
 "PATH" : "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\Hostx64\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.18362.0\\x64;E:\\CMake\\bin;E:\\dev-lib\\ninja",
 "INCLUDE": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\include;C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.18362.0\\ucrt",
 "LIB": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\ATLMFC\\lib\\x64;C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\lib\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.18362.0\\ucrt\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.18362.0\\um\\x64"
 },
 "cmake.cmakePath": "E:\\CMake\\bin\\cmake.exe"
}

c_cpp_properties.json

這里給出Linux和Windows兩個(gè)平臺(tái)的配置。

{
 "configurations": [
 {
  "name": "Linux",
  "includePath": [
  "${workspaceFolder}/**"
  ],
  "defines": [],
  "compilerPath": "/usr/bin/clang++",
  "cStandard": "c11",
  "cppStandard": "c++17",
  "intelliSenseMode": "clang-x64"
 },
 {
  "name": "Win32",
  "includePath": [
  "${workspaceFolder}/**",
  "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\include",
  "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\ATLMFC\\include",
  "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.18362.0\\ucrt",
  "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\shared",
  "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\um",
  "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\winrt",
  "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\cppwinrt",
  "E:\\dev-lib\\boost_1_73_0"
  ],
  "defines": ["_DEBUG", "UNICODE", "_UNICODE"],
  "windowsSdkVersion": "10.0.18362.0",
  "compilerPath": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\Hostx64\\x64\\cl.exe",
  "cStandard": "c11",
  "cppStandard": "c++17",
  "intelliSenseMode": "msvc-x64"
  }
 ],
 "version": 4
}

tasks.json

前兩個(gè) task 是Linux環(huán)境的(第一個(gè)是清空build目錄,第二個(gè)是配置CMake),第三個(gè) task 是Windows下配置CMake的。

{
 // See https://go.microsoft.com/fwlink/?LinkId=733558
 // for the documentation about the tasks.json format
 "version": "2.0.0",
 "tasks": [
 {
  "label": "clean",
  "type": "shell",
  "command": "rm -r build/*"
 },
 {
  "label": "configure",
  "type": "shell",
  "command": "cmake",
  "args": [
  "--no-warn-unused-cli",
  "-DCMAKE_C_COMPILER=/usr/bin/clang",
  "-DCMAKE_CXX_COMPILER=/usr/bin/clang++",
  "-DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE",
  "-DCMAKE_BUILD_TYPE=Debug",
  "-H${workspaceFolder}",
  "-B${workspaceFolder}/build",
  "-G'Unix Makefiles'"
  ]
 },
 {
  "label": "MSVC configure",
  "type": "shell",
  "command": "cmake",
  "args": [
  "-H${workspaceFolder}",
  "-B${workspaceFolder}/build",
  "-GNinja"
  ]
 }
 ]
}

launch.json

第一個(gè)是在Linux用 gdb 調(diào)試,第二個(gè)是在Linux下用 lldb 調(diào)試,第三個(gè)是在Windows用MSVC的 cl.exe 調(diào)試。

{
 "version": "0.2.0",
 "configurations": [
 {
  "name": "(gdb) Launch",
  "type": "cppdbg",
  "request": "launch",
  "program": "${workspaceFolder}/build/test_main",
  "args": [],
  "stopAtEntry": false,
  "cwd": "${workspaceFolder}",
  "environment": [],
  "externalConsole": true,
  "MIMode": "gdb",
  "setupCommands": [
  {
   "description": "Enable pretty-printing for gdb",
   "text": "-enable-pretty-printing",
   "ignoreFailures": true
  }
  ]
 },
 {
  "name": "(lldb) Launch",
  "type": "lldb",
  "request": "launch",
  "program": "${workspaceFolder}/build/test_main",
  "args": [],
 },
 {
  "name": "(cl) Launch",
  "type": "cppvsdbg",
  "request": "launch",
  "program": "${workspaceFolder}\\build\\test_main.exe",
  "args": [],
  "stopAtEntry": false,
  "cwd": "${workspaceFolder}",
  "environment": [],
  "externalConsole": false,
 }
 ]
}

CMakeLists.txt

這個(gè)CMake腳本也是跨平臺(tái)的,自動(dòng)識(shí)別Linux或Windows,然后執(zhí)行相應(yīng)的鏈接。

cmake_minimum_required (VERSION 3.5)
project(leetcode)

set(PROBLEM_NAME "349-Intersection-of-Two-Arrays-set")

set(CMAKE_CXX_STANDARD 14)

set(SOLUTION_SOURCES ${PROJECT_SOURCE_DIR}/${PROBLEM_NAME}/solution.cpp)
add_library(solution STATIC ${SOLUTION_SOURCES})

enable_testing()

set(TEST_SOURCES ${PROJECT_SOURCE_DIR}/${PROBLEM_NAME}/solution_test.cpp)
set(TEST_LIBS solution)

add_executable(test_main ${TEST_SOURCES})

if(WIN32)
 message(STATUS "Detected Windows platform")
 set(BOOST_ROOT E:\\dev-lib\\boost_1_73_0)
 set(BOOST_LIBRARYDIR E:\\dev-lib\\boost_1_73_0\\build\\lib)
 set(Boost_USE_STATIC_LIBS ON)
 find_package(Boost REQUIRED COMPONENTS unit_test_framework)

 target_link_libraries(test_main PRIVATE ${TEST_LIBS} Boost::boost Boost::unit_test_framework)
elseif(UNIX)
 message(STATUS "Detected UNIX platform")
 find_package(Boost REQUIRED COMPONENTS unit_test_framework)
 add_library(boost_unit_test_framework STATIC IMPORTED)
 set_target_properties(boost_unit_test_framework PROPERTIES
 IMPORTED_LOCATION /usr/lib/libboost_unit_test_framework.a)

 target_link_libraries(test_main ${TEST_LIBS} boost_unit_test_framework)
else()
 message(FATAL_ERROR "Unsupported platform")
endif()

add_test(solution_test test_main COMMAND test_main)

編譯、測(cè)試和調(diào)試

按快捷鍵 Ctrl + Shift + P ,然后就可以輸入我們之前定義的不同命令了:

  • “CMake: Configure” – 配置CMake
  • “CMake: Build” – 編譯項(xiàng)目
  • “CMake: Run tests” – 執(zhí)行測(cè)試
  • “Tasks: Run task -> MSVC configure” – 以調(diào)用Task的方式配置CMake

單元測(cè)試的效果如下圖所示:

調(diào)試的效果如下圖所示:

完整的項(xiàng)目代碼在我的GitHub上: https://github.com/johnhany/leetcode  。關(guān)于Linux平臺(tái)下C++開(kāi)發(fā)環(huán)境的配置可以參考 《Ubuntu計(jì)算機(jī)視覺(jué)開(kāi)發(fā)環(huán)境配置(Python/C++)》 。

總結(jié)

到此這篇關(guān)于Windows配置VSCode+CMake+Ninja+Boost.Test的C++開(kāi)發(fā)環(huán)境(教程詳解)的文章就介紹到這了,更多相關(guān)VScode配置C/C++環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語(yǔ)言實(shí)現(xiàn)2048游戲代碼

    C語(yǔ)言實(shí)現(xiàn)2048游戲代碼

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)2048游戲代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • C++迭代器和顯示類(lèi)型轉(zhuǎn)換方式

    C++迭代器和顯示類(lèi)型轉(zhuǎn)換方式

    這篇文章主要介紹了C++迭代器和顯示類(lèi)型轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • C++多態(tài)的實(shí)現(xiàn)及原理詳細(xì)解析

    C++多態(tài)的實(shí)現(xiàn)及原理詳細(xì)解析

    C++的多態(tài)性用一句話(huà)概括就是:在基類(lèi)的函數(shù)前加上virtual關(guān)鍵字,在派生類(lèi)中重寫(xiě)該函數(shù),運(yùn)行時(shí)將會(huì)根據(jù)對(duì)象的實(shí)際類(lèi)型來(lái)調(diào)用相應(yīng)的函數(shù)。如果對(duì)象類(lèi)型是派生類(lèi),就調(diào)用派生類(lèi)的函數(shù);如果對(duì)象類(lèi)型是基類(lèi),就調(diào)用基類(lèi)的函數(shù)
    2013-09-09
  • C++設(shè)計(jì)模式之工廠方法模式的實(shí)現(xiàn)及優(yōu)缺點(diǎn)

    C++設(shè)計(jì)模式之工廠方法模式的實(shí)現(xiàn)及優(yōu)缺點(diǎn)

    工廠方法模式是一個(gè)創(chuàng)建型設(shè)計(jì)模式,通過(guò)定義一個(gè)創(chuàng)建對(duì)象的接口,讓其子類(lèi)決定實(shí)例化哪一個(gè)工廠類(lèi),這篇文章主要給大家介紹了關(guān)于C++設(shè)計(jì)模式之工廠方法模式的實(shí)現(xiàn)及優(yōu)缺點(diǎn),需要的朋友可以參考下
    2021-06-06
  • C++ STL中vector容器的使用

    C++ STL中vector容器的使用

    這篇文章主要為大家詳細(xì)介紹了C++ vector容器的使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • C/C++可變參數(shù)的使用

    C/C++可變參數(shù)的使用

    可變參數(shù)的使用方法遠(yuǎn)遠(yuǎn)不止以下幾種,不過(guò)在C,C++中使用可變參數(shù)時(shí)要小心,在使用printf()等函數(shù)時(shí)傳入的參數(shù)個(gè)數(shù)一定不能比前面的格式化字符串中的’%’符號(hào)個(gè)數(shù)少,否則會(huì)產(chǎn)生訪(fǎng)問(wèn)越界,運(yùn)氣不好的話(huà)還會(huì)導(dǎo)致程序崩潰
    2013-09-09
  • C語(yǔ)言實(shí)現(xiàn)一個(gè)簡(jiǎn)易通訊錄

    C語(yǔ)言實(shí)現(xiàn)一個(gè)簡(jiǎn)易通訊錄

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)一個(gè)簡(jiǎn)易通訊錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • C++中回調(diào)函數(shù)及函數(shù)指針的實(shí)例詳解

    C++中回調(diào)函數(shù)及函數(shù)指針的實(shí)例詳解

    這篇文章主要介紹了C++中回調(diào)函數(shù)及函數(shù)指針的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • C語(yǔ)言線(xiàn)性表的鏈?zhǔn)奖硎炯皩?shí)現(xiàn)詳解

    C語(yǔ)言線(xiàn)性表的鏈?zhǔn)奖硎炯皩?shí)現(xiàn)詳解

    線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)特點(diǎn)則是用一組任意的存儲(chǔ)單元存儲(chǔ)線(xiàn)性表的數(shù)據(jù)元素。這組存儲(chǔ)單元既可以是連續(xù)的,也可以是不連續(xù)的。本文將詳解一下C語(yǔ)言線(xiàn)性表的鏈?zhǔn)奖硎炯皩?shí)現(xiàn),感興趣的可以了解一下
    2022-07-07
  • C++實(shí)現(xiàn)LeetCode(171.求Excel表列序號(hào))

    C++實(shí)現(xiàn)LeetCode(171.求Excel表列序號(hào))

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(171.求Excel表列序號(hào)),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08

最新評(píng)論

巩留县| 苗栗县| 金阳县| 涡阳县| 金堂县| 永吉县| 霍邱县| 六安市| 桂平市| 禄劝| 大洼县| 平武县| 日喀则市| 陈巴尔虎旗| 都兰县| 合水县| 万州区| 军事| 安西县| 安塞县| 江油市| 禹州市| 鸡西市| 基隆市| 上林县| 建瓯市| 阳城县| 白朗县| 益阳市| 高邮市| 武川县| 昭平县| 庄河市| 会东县| 大安市| 长武县| 海林市| 砚山县| 友谊县| 临潭县| 富锦市|