原创 Linux基本認識

Linux是一個開源的操作系統。在Linux中一切皆文件。Linux在服務器領域和嵌入式領域有着極大的優勢,如:使用及維修總成本、硬件支持、靈活性、安全性、穩定性和可靠性、經濟實惠。 Linux中的基本指令有很多,隨着時間的進行慢慢進行學

原创 異常

異常的概念程序遇到了問題非主動退出的情況下我們稱之爲發生了異常,當一個函數發現自己無法處理的錯誤時就可以拋出異常,讓函數的直接或間接的調用者處理這個錯誤。c++中異常的處理方式: #include<iostream> using names

原创 智能指針

爲什麼要有智能指針?原生態指針的缺陷?使用原生態指針時我們需要時刻注意空間的申請和釋放,尤其在處理異常時,我們必須在拋出異常前把程序中動態開闢的內存空間釋放掉,有時會使代碼顯得臃腫,所以我們引入智能指針的概念,就是RAII,是一種用對象的生

原创 牛客之求最小公倍數

最小公倍數即兩數之積除以最大公約數,所以我們gcd函數實現最大公約數的求法並返回。 int gcd(int a, int b) { int r; while (r = a%b){ a = b;

原创 兩種排序方法

題目描述: 考拉有n個字符串字符串,任意兩個字符串長度都是不同的。考拉最近學習到有兩種字符串的排序方法: 1.根據字符串的字典序排序。例如:"car" < "carriage" < "cats" <"doggies < "koala"2.根

原创 字符串轉化爲整數(模擬實現atui)

class Solution { public: int StrToInt(string str) { if (str.empty()) return 0; int s

原创 仿函數,()的重載

以智能指針爲例說明,具體看註釋: template<class T> class DFDef { public: void operator()(T*& p)//()的重載,只需要接受一個T類型對象的指針 {

原创 牛客之連續最大和

題目描述:一個數組有 N 個元素,求連續子數組的最大和。 例如:[-1,2,1],和最大的連續子數組爲[2,1],其和爲 3。分析:從頭到尾遍歷數組,如果加和小於0,說明之前的累加和並不能夠構成最大和數組,所以我們從數組的下一個元素開始累加

原创 異常

異常的概念:程序遇到了問題非主動退出的情況下我們稱之爲發生了異常,當一個函數發現自己無法處理的錯誤時就可以拋出異常,讓函數的直接或間接的調用者處理這個錯誤。c++中異常的處理方式: #include<iostream> using name

原创 字符串中找出連續出現的最大數字字符串

#define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> using namespace std; #include<string> int main() { string s1;

原创 ASICC碼錶

string中存放的數字是按照ASCII碼錶進行存儲的“字符數字”,也就是說它是一個字符而非數字,如何轉成int類型的數字呢?我們首先看一下ASICC碼錶:字符1的ASICC碼值是49,十進制數1對應的ASICC值是1,所以對字符數字減去4

原创 牛客華爲機試之座標移動

#define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> #include<algorithm> #include<string> using namespace std; #if 1 i

原创 繼承

1.什麼是繼承繼承就是在原有類的基礎上進行拓展,增加功能,實現了代碼複用,體現了面嚮對象語言的層次結構。2.繼承的定義繼承即通過派生權限(方式)由基類派生一個類,子類中豐富了基類中的功能-------------------------如這

原创 c++中ios有關進制轉換的函數

oct------>八進制dec------->十進制hex------>十六進制控制輸入和輸出的格式: int main() { int a = 0; cin >>hex>>a; cout << dec<< a;

原创 牛客華爲機試之計算字符個數

題目描述寫出一個程序,接受一個由字母和數字組成的字符串,和一個字符,然後輸出輸入字符串中含有該字符的個數。不區分大小寫。 輸入描述:第一行輸入一個有字母和數字以及空格組成的字符串,第二行輸入一個字符。輸出描述:輸出輸入字符串中含有該字符的個