原创 C++類模板中如何使用友元

1、不推薦使用; 方式1、windows下獨有的寫法  

原创 Easy_CHM生成CHM時出現的目錄和索引中文亂碼問題

出現原因是以下三個因素導致的 1、Easy_CHM等軟件都很老了,那時候根本很多默認就是GBK 2、和Easy_CHM同時代的中國人寫的HTML大多數用的是GBK編碼文件;現在的HTML文件都是國際接軌,使用的文件格式大多是UTF-8;

原创 C++中對象實例三種方法及其區別

//1 匿名對象 MyArry(10).getLen();//在棧區定義使用有參定義一個對象,並調用getLen方法,執行完立刻析構; cout << "在棧區定義使用有參定義一個對象,並調用getLen方法" << endl

原创 C++虛函數列表佈局方式計算技巧

參考:陳皓大佬的C++ 對象的內存佈局(上)            陳皓大佬的C++ 對象的內存佈局(下) 學習多態時產生了如下幾個問題,都在 陳皓大佬的文章裏找到了答案 1、父類中不是虛函數,子類中是虛函數;多態調用時爲什麼不能調用子類

原创 jdk api 1.8CHM文件

不想上傳成資源,大家還要花積分什麼的。 每週一更。 baidu雲   請求頭自己加上中間有中文就自己去掉,防止屏蔽 鏈接:pan.baidu.com/s/1umcxD2OVmU_irBLgZRwr6Q  提取碼:hrw3  有用的話點個贊

原创 C/C++語言中結構體字節對齊方法詳解

爲什麼要字節對齊:          爲了更快的讀取數據;不是本文重點,不想多解釋; 對齊規則: 1、確定對齊單位     1、環境默認對齊單位        WIN默認8字節對齊        Linux 32位 默認4字節對齊,64位

原创 C++重載new與delete

總結: //重載的new操作符 依然會觸發對象的構造函數 void * operator new(size_t size) { cout << "重載了new操作符" << endl; return malloc(size

原创 C++重載“=”操作符引起的思考

參考https://bbs.csdn.net/topics/396949997 有一個類 class MyArry 在類的內部重載 MyArry& MyArry::operator=(const MyArry& arry); 但是

原创 C++函數中返回引用和對象的區別

本文參考了 C++函數的返回值——返回引用類型&非引用類型 要搞清楚這個問題我們必須要先搞清楚return的時候發生了什麼? 我們有一個類如下(不需要仔細看) #define _CRT_SECURE_NO_WARNINGS #inclu

原创 C++與Java訪問權限對比

C++ C++中的訪問權限   類中 類外(對象等) public 可訪問 可訪問 protected 可訪問 不可訪問 private 可訪問 不可訪問 繼承後的可訪問性   public protected private publi

原创 C++中拷貝構造函數的四種調用方式

代碼 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string> using namespace std; static int i = 0; class St

原创 VS2017出現無法使用stdlib.h,string.h等SDK中的頭文件

電腦上前前後後安裝了三個版本的vs。於是出現了各種問題 E1696    無法打開 源 文件 "某某某.h" E0282    全局範圍沒有 "某某某" 【Windows SDK】找不到 Windows SDK 版本10.0.*

原创 VS中strcpy之類的string.h的函數找不到標識符

出現這個問題我們一步一步來做;總歸有一步能解決這個問題的; strcpy之類的string.h的函數找不到標識符 1、預處理定義中沒有加入了_CRT_SECURE_NO_WARNINGS, 2、頭文件中沒有加入#include <stri

原创 C++析構函數調用時機

總結 1、在匿名對象使用完後立刻調用析構函數 2、在棧區的對象,空間被釋放後立刻調用析構函數; 3、在堆區的對象,空間被delete後調用析構函數;free不能調用;   代碼驗證:1 void test() { MyArry(10)

原创 strcpy 與 用“ = ”直接賦值有什麼區別

總結:strcpy是深拷貝,=都是淺拷貝;但是之間的修改不會影響另外一個; 1、使用strcpy時會有兩個“字符串”;而使用“=”只有一個字符串; 2、strcpy是將字符串拷貝到指定的地址;   像瞭解其中奧祕必須要讀懂下面幾行代碼;