原创 理解js中的值傳遞

// javascript 代碼 function setName(obj) { // 這裏 obj 和 person 指向內存中的同一塊地址,a 地址 obj.name = "Nicholas"; // 這

原创 js Tips

clone(flags: number) { let name = 'ClassName' + this._type; let obj = new window[name]; obj.assign(this,

原创 ==和===到底有什麼區別

轉載自 https://baijiahao.baidu.com/s?id=1572551881586789 很多時候我們會對某個語言的某個特性爭論不休,通常都只是因爲我們不知道它是怎麼實現的。其實解決這個疑惑的最好的方法,就是弄清楚

原创 js中怎麼理解按位取反

轉自 https://segmentfault.com/q/1010000005697515 ~ 運算符查看表達式的二進制表示形式的值,並執行位非運算。 Javascript 按位取反運算符 (~) ,對一個表達式執行位非(求非)運算

原创 TS 優化

當一個函數內反覆出現全局函數時,應考慮聲明臨時變量來替代,比如Math.max,我們可以在函數開始處聲明let qMax = Math.max; 在後續代碼中使用qMax而不是Math.max          因:全局函數的訪問速度要遠

原创 深入解析C++中類的多重繼承

C++類的多繼承在前面的例子中,派生類都只有一個基類,稱爲單繼承。除此之外,C++也支持多繼承,即一個派生類可以有兩個或多個基類。多繼承容易讓代碼邏輯複雜、思路混亂,一直備受爭議,中小型項目中較少使用,後來的 Java、C#、PHP 等乾

原创 QT 獲取MD5值

QT提供了QCryptographicHash類,很方便的實現獲取md5/md4/sha1碼字符串轉MD5:一、實例化QCryptographicHash,然後addData(), 最後獲取result();[cpp] view plai

原创 SVN怎麼checkout(校驗)文件下載SVN上文件到本地

1、要下載SVN上文件到本地,那麼我們先在本地計算機上建立個文件夾來存放SVN下載的文件。建好文件夾後,進入該文件夾。如下圖所示。2、進入文件夾後,在空白處點擊鼠標右鍵,然後選擇彈出菜單裏的【SVN checkout】選項,如下圖所示。3

原创 Qt 小總結

1、獲取屏幕的工作區的大小[cpp] view plain copy{      //獲取屏幕分辨率      qDebug()<< "screen width:"<<QApplication::desktop()->width();  

原创 Qt測算程序運行時間

【問題描述】程序運行時間是編程的一項重要指標,在QT中如何測算程序的運行時間呢?【解析】測試函數[html] view plain copy#include <math.h>    void function()  {      unsi

原创 sizeof與strlen的區別

char str[20]="0123456789"; int   a=strlen(str); /*a=10;strlen 計算字符串的長度,以\0'爲字符串結束標記。 int   b=sizeof(str); /*b=20;sizeof

原创 Qt JSON

Qt JSON 常用類QJsonDocumentQJsonDocument 類用於讀和寫 JSON 文檔。一個 JSON 文檔可以使用 QJsonDocument::fromJson() 從基於文本的表示轉化爲 QJsonDocument

原创 如何定一個只能在堆上或者只能在棧上定義的類

C++中,對象的建立分爲兩種,一種是靜態建立,如A a;另一種是動態建立,如 A *ptr=new A;靜態建立:由編譯器爲對象在棧上分配內存,是通過直接移動棧頂指針,挪出適當的空間,然後在這片內存空間上調用構造函數形成一個棧對象,使用這

原创 圖片更改格式

QFileInfo file(imgPath); if (!file.isFile()) return; if (file.suffix() != "png") { QString pngP

原创 指針 + 1

指針 + 1 並不是指針代表的地址值 + 1. 指針變量加1,即向後移動1 個位置表示指針變量指向下一個數據元素的首地址。而不是在原地址基礎上加1。至於真實的地址加了多少,要看原來指針指向的數據類型是什麼。char a = 'a'; ch