原创 理解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