原创 使用nlohmann庫實現protobuf數據轉爲Json數據

使用nlohmann庫實現protobuf數據轉爲Json數據。核心代碼如下,代碼細節諮詢可以留言: Json pb2json(const Message *msg) //pb數據轉json { Json json=par

原创 protobuf 相關知識 C++

 protobuf是一種序列化方法. 1. message字段包括以下幾種情況 (1)singular:包涵該字段一次或則零次 (2)repeated:可以重複任意多次 2.可以在.proto文件中定義多種message類型。但是當單個文

原创 shell腳本空行造成“command not found”錯誤

 原因:window下的換行是回車符+換行符,也就是\r\n,而unix下是換行符\n。  解決方法:  (1)notepad:將右下角Dos\windows->Uuix  (2)vscode:將右下角LF->CRLF。  (3)查看該文

原创 將字符串分成多個字符串輸出

substr函數:截取字符串中的部分字符串。 string substr(int n = 0, int m = string::npos) const; //起點爲n,長度爲m。 調用時,如果省略 m 或 m 超過了字符串的長度,則求出來

原创 將棋盤上的棋子變成一行,計算最小步數。

題目:棋盤上分佈着n個棋子,棋子的座標爲(x,y)。將各個棋子變成一行,相同的點只能放一個棋子。計算將這些棋子變成一行,棋子每步可以上下左右移動一格,計算最少需要多少步。 輸入:第一輸入n,表示棋子的數量。 接下來的n行輸入棋子的座標。

原创 C++ 大寫字母變小寫,小寫字母變大寫

#include "pch.h" #include <iostream> #include <string> using namespace std; int main() { string a; getline(cin, a);

原创 C1010:在查找預編譯頭時遇到意外的文件結尾。是否忘記了向源中添加“#include "stdafx.h"

解決方案 (1) 右擊相應的.cpp文件,點擊“屬性” (2) 在左側配置屬性中,點開“C/C++”,點擊“預編譯頭” (3)更改右側的“預編譯頭”,把選項從“使用(/Yu)”改成“不使用預編譯頭”。

原创 C++ string 函數

#include <iostream> #include <string> #include <vector> using namespace std; const int N = 10000; int main() { string

原创 C++ 輸入帶空格的字符串

(1)string   #include "pch.h" #include <iostream> #include <string> using namespace std; int main() { string a; getli

原创 C++ Lambda表達式詳解

Lambda表達式概述:用於創建匿名的函數對象,用於簡化編程工作。 通常是在需要一個函數,但是又不想費神去命名一個函數的場合下使用,也就是指匿名函數。 語法形式如下: [函數對象參數] (操作符重載函數參數)mutable或excepti

原创 C++ 拷貝構造函數的調用時機

C++ 拷貝構造函數在下面三種情況下調用: (1)使用一個已經創建的對象來初始化一個對象 (2)用值傳遞的方式給函數參數傳值 (3)值方式返回局部對象   (1)使用一個已經創建的對象來初始化一個對象 #include "iostrea

原创 C++中調用C語言代碼

test.h #pragma once //C++ 運行該文件時,extern C包含的內容用C語言方式連接 #ifdef __cplusplus extern "C"{ #endif #include <stdio.h> v

原创 C++ 右值引用與左值引用

意義:可以避免無謂的複製,提高程序的性能。 左值:表達式結束後依然存在的持久化對象 右值:表達式結束後不再存在的臨時對象 所有的具名變量和對象都是左值,而右值不具名。 區分左值和右值的快捷方法:看能不能對錶達式取地址,如果能則是左值,否則

原创 ZeroMQ 相關知識

(1)概念:基於消息隊列的多線程網絡庫,提供跨越多種傳輸協議的套接字。 (2)常用的三種模式:請求迴應模式、發佈訂閱模式和管道模式。 (3)zmq_ctx_new():創建一個新的ZMQ環境上下文,返回一個新創建的context句柄。 (

原创 redis相關知識(慢慢更新)

定義: redis是一個key-value存儲系統。支持string、list、set、zset和hash等數據類型。 作用: 可以減輕數據庫的壓力,查詢內存比查詢數據庫效率高。 命令: redis -cil 連接本地的redis服務。