原创 面試之——求最長迴文子串長度

最近太忙,好幾天沒鞏固基礎了。今天,求一個字符串你的最長迴文子串。 思路:迴文字符串就是說該字符串從前往後和從後往前的內容是一樣的。 所以,可以用指針指向數組的某一元素,從該元素向後和向前遍歷,如果一樣則說明該子串是迴文子串。 比

原创 關於socket編程的簡單認識

面試的時候面試官問到“請問你是否瞭解socket編程?” 說實話,我是知道一些函數的,但是具體的實現我不瞭解,並且工作中也基本上沒用到。所以我回答了“不是很瞭解,只是校招的時候知道一些函數”,現在想想,還是自己學習的不夠系統,漏洞

原创 面試常見算法——斐波那契數列

今晚八點,接受了某大廠的後臺開發工程師的崗位電話面試。 第一面而已,時常40多分鐘,過程有順暢的部分,也有很坎坷的部分。 現在過了幾個小時,感覺自己真的很差勁啊,還是要勤學苦練。 一番反思之後,補個漏洞吧。也算是自己不白白被這一面

原创 C++——友元函數的介紹,使用及利與弊。

面試的時候面試官問到了友元函數,自己其實之前對友元函數不是特別熟悉,只是略知一二;當然,回答的不是很讓面試官滿意,今天總體的再學習一下友元函數。 1.什麼是友元函數? 特點: ①在類中聲明的以friend關鍵字修飾的函數。 ②形式

原创 boost庫解析讀取xml文件,生成數據庫文件,並向數據庫中寫表。

今天實戰用boost庫中的方法,讀取xml格式文件。 博文中涉及到xml的解析,xml內容的提取,數據庫的創建,已經向數據庫中添加表,並向表中寫內容。 xml文件所在的目錄: xml的文件內容: 具體代碼實現: #includ

原创 面試常見問題之——Tcp/Ip協議及三次握手,四次揮手。

面試的時候,因爲自己的簡歷個人技能上有一條“瞭解Tcp/Ip及一些常見的網絡協議” 當然,當時回答的不是很理想。現在對其做以總結,以防以後再被問起。 1.TCP和UDP的區別 TCP UDP 面向連接的 無連接的

原创 C++中const關鍵字的應用,簡單、易懂、實用!

文章稍長,但是舉例都很易懂。 1. 常量 c++用const將對象i定義爲一個常量。定義之後,i的值就不可以再變了,所以i必須在定義時候被初始化。 所以 const int i; //錯誤的,i 必須被初始化 (在C中這種寫法

原创 C++實現簡單的二分法查找/折半查找

二分法又叫折半查找。 不斷地折半長度知道找到要找的值 使用場景:適用於已經排好序的順序表。 #include<iostream> int binarySearch(int* a, int low, int high, const

原创 Mongoose庫的使用方法、網絡編程

概述 Mongoose庫是一組用C語言實現的網絡庫。 支持平臺:linux、windows、Android、IOS等 原理(只算是一些基本的把) 方法: 1.mg_mgr:mg_mgr是整個mongoose庫信息存儲的結構

原创 mongoose上傳文件過程解析

簡單記錄使用mongoose上傳文件的使用過程。 查看mongoose源碼,源碼中有默認的處理方式,先看默認處理方式吧。 * void ev_handler(struct mg_connection *nc, int ev,

原创 C++創建一個臨時數據庫文件,SQLite應用

工作中用到的數據庫類型爲Oracle和Sql Server.還有SqlLite這種輕型數據庫。 #include<iostream> #include<boost/filesystem.hpp>//包含boost的nuget包 #

原创 C++用隊列實現棧功能(push,pop,top,empty)

首先分析一下隊列和棧的特點 隊列:先進先出,後進後出。 棧:先進後出、後進先出。 知道特性後,我們邊思考邊寫。 #include<iostream> //先聲明一個棧類 class Stack{ public: void p

原创 C++最基礎的string類

string類也是當年我校招的時候很多公司的筆試必出題,話不多說,直接上代碼。 #include<iostream> using namespace std; //直接聲明類。 class String { public: S

原创 C++多線程編程,最簡單,最直接,最好學。

直接乾貨: #include<iostream> #include<windows.h> int main() { while(1) { std::cout<<"main!"<<std::endl; //該

原创 C++用boost庫操作a目錄下文件改名生成到b目錄下

記錄一下,這是本人寫的第一篇csdn博客,以後會逐漸趨於規範。 //能加const的儘量加上,慢慢培養成的一種習慣。 const boost::filesystem::path& fileDir = "G:\\work\\mode