原创 快速理解c++編譯器名稱查找規則koenig lookup(ADL)

什麼是koenig lookup ? 先來看一段簡單的代碼:     #include <iostream> using namespace std; namespace A { struct X{}; void g(X) {

原创 C++11新特性學習筆記—使用花括號就地初始化

這個特性是真正極好的!非常好用且方便!降低工作量!      如果一個類有很多成員變量A,B,C,D...,而且有很多不同版本的構造函數c1,c2,c3....,每個不同的構造函數可能會選擇不同的成員來初始化,如果不在構造函數中將所有的成

原创 opengl霧效問題解決

問題: 在加入了天空盒子之後,可以看到,圖中的霧效是非常不真實的,因爲在有霧的情況下, 站在觀察者的角度,遠處的物體應該是由近及遠越來越模糊的,而這幅圖完全沒有表現出這個特點。 解決方法: 原理,正如前面所說,越是靠近地面的物體,霧越

原创 C獲得當前系統時間

void printCurrentTime() { time_t tt = time(NULL);//這句返回的只是一個時間cuo tm* t = localtime(&tt); printf("\n%d-%02d-%02d %02

原创 windows下cuda7.5卸載方法

百度一直沒找到卸載方法,於是看了下官方文檔,文檔裏說,直接從windows控制面板即可卸載。原來如此。          搞定!

原创 C++ :error LINK2005:函數XXX已經在main.obj中定義--解決方法

我的情況是這樣的:      我在頭文件中定義了一個函數,然後這個函數被其他函數引用。但是編譯的時候死活通不過,一直報錯:error LINK2005,費了好大力氣-_-才解決。#include "aabb.h" #pragma once

原创 leetcode problem solve 2——Add Two Numbers

        題意就不再贅述了,這裏主要總結一下解題過程中感觸比較深的地方。        這道題僅僅是medium水平,但是我卻做了兩個多小時.....我覺得主要原因是我一開始覺得很簡單,然後一上來就寫代碼,沒有做好前期的問題剖析工作

原创 leetcode 4——Median of Two Sorted Arrays

    這道題很難,看了別人的代碼都還搞了一天阿。。。         記錄一下解題思路。         首先要區分中位數,不是平均數!該題是要找中位數,如果序列是奇數個,那麼直接取中間的,如果是偶數個,那麼取中間的兩個數的平均數,所以

原创 leetcode problem solve 1——Two Sum

         這道題目難度級別:easy。        題意是給定一個整形數taget和一個vector<int>arr,這個target是arr中兩個數求和的結果,要求返回arr中這兩個數的索引號。        我的解題思路是:

原创 MFC新手使用小結

首先,很多人黑MFC,我覺得這是不對的,他們老是說MFC複雜,過時。複雜暫且不說,過時我不認同,只要能做出合格的效果,最終用戶纔不會去管你用的MFC還是QT,MFC沒有過時,它可以做出我想要的效果,而且不費勁。      小結一下最近使用

原创 C++11新特性學習筆記—final和override關鍵字

一、final關鍵字                爲什麼c++現在才提供final這個關鍵字?很奇怪。              和Java一樣,c++中的final關鍵字是用來修飾一個函數,防止這個函數被子類重寫。          

原创 C++11新特性學習筆記—變長參數的宏定義以及__VA_ARGS__

在C99標準中,我們就已經可以使用變長參數的宏定義。變長參數的宏定義是啥??就是在宏定義的參數列表的最後一個參數爲省略號。而現在C++ 11 中,可以使用預定義宏__VA_ARGS__可以在宏定義的實現部分替換省略號所代表的字符串。  

原创 leetcode problem solve 3——Longest Substring Without Repeating Characters

            這道題我直接看disscuss了-_-,原因是我對字符串操作很陌生-_-.....看完disscuss代碼後,發現字符串的處理沒有我想象的那麼不能接受,其實背後還是數字嘛(ascii),不要慫,不要怕,下次遇到字符

原创 C++11新特性學習筆記—繼承構造函數的使用

/*爲了避免透傳接口,在c++中使用using 關鍵字 如果派生類要使用基類的成員函數的話,可以通過使用using聲明來完成 */ #include<iostream> using namespace std; class Base {

原创 C++11新特性學習筆記—noexcept關鍵字

//動態異常聲明thro由於很少使用,在c++11中被棄用了 //表示函數不會拋出異常的動態異常聲明throw()也被新的noexcept異常聲明所取代 //noexcept修飾的函數不會拋出異常 //在c++11中,如果noexcept