今天就跟大家聊聊有關(guān)十六進(jìn)制與RGB顏色值的相互轉(zhuǎn)換以及如何判斷一個(gè)素?cái)?shù) 和內(nèi)聯(lián)函數(shù)及面向?qū)ο?,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司一直秉承“誠信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!專注中小微企業(yè)官網(wǎng)定制,成都網(wǎng)站建設(shè)、做網(wǎng)站,塑造企業(yè)網(wǎng)絡(luò)形象打造互聯(lián)網(wǎng)企業(yè)效應(yīng)。
/**
* 隨機(jī)生成顏色
* @return 隨機(jī)生成的十六進(jìn)制顏色
*/
function randomColor(){
var colorStr=Math.floor(Math.random()*0xFFFFFF).toString(16).toUpperCase();
return "#"+"000000".substring(0,6-colorStr)+colorStr;
}
/**
* 十六進(jìn)制顏色轉(zhuǎn)換為RGB顏色
* @param color 要轉(zhuǎn)換的十六進(jìn)制顏色
* @return RGB顏色
*/
function colorHexToRGB(color){
color=color.toUpperCase();
var regexpHex=/^#[0-9a-fA-F]{3,6}$/;//Hex
if(regexpHex.test(color)){
var hexArray=new Array();
var count=1;
for(var i=1;i<=3;i++){
if(color.length-2*i>3-i){
hexArray.push(Number("0x"+color.substring(count,count+2)));
count+=2;
}else{
hexArray.push(Number("0x"+color.charAt(count)+color.charAt(count)));
count+=1;
}
}
return "RGB("+hexArray.join(",")+")";
}else{
return color;
}
}
/**
* RGB顏色轉(zhuǎn)換為十六進(jìn)制顏色
* @param color 要轉(zhuǎn)換的RGB顏色
* @return 十六進(jìn)制顏色
*/
function colorRGBToHex(color){
var regexpRGB=/^(rgb|RGB)\([0-9]{1,3},\s?[0-9]{1,3},\s?[0-9]{1,3}\)$/;//RGB
if(regexpRGB.test(color)){
color=color.replace(/(\(|\)|rgb|RGB)*/g,"").split(",");
var colorHex="#";
for(var i=0;i
if(hex.length==1) hex="0"+hex;
colorHex+=hex;
}
return colorHex;
}else{
return color;
}
}
笨蛋的作法:
bool IsPrime(unsigned n)
{
if (n<2)
{ //小于2的數(shù)即不是合數(shù)也不是素?cái)?shù)
throw 0;
}
for (unsigned i=2;i
if (n%i==0)
{//除盡了,則是合數(shù)
return false;
}
}
return true;
}
內(nèi)聯(lián)函數(shù)
內(nèi)聯(lián)函數(shù)是代碼被插入到調(diào)用者代碼處的函數(shù)。如同 #define 宏,內(nèi)聯(lián)函數(shù)通過避免被調(diào)用的開銷來提高執(zhí)行效率,尤其是它能夠通過調(diào)用(“過程化集成”)被編譯器優(yōu)化。
內(nèi)聯(lián)函數(shù)和宏很類似,而區(qū)別在于,宏是由預(yù)處理器對(duì)宏進(jìn)行替代,而內(nèi)聯(lián)函數(shù)是通過編譯器控制來實(shí)現(xiàn)的。而且內(nèi)聯(lián)函數(shù)是真正的函數(shù),只是在需要用到的時(shí)候,內(nèi)聯(lián)函數(shù)像宏一樣的展開,所以取消了函數(shù)的參數(shù)壓棧,減少了調(diào)用的開銷。你可以象調(diào)用函數(shù)一樣來調(diào)用內(nèi)聯(lián)函數(shù),而不必?fù)?dān)心會(huì)產(chǎn)生于處理宏的一些問題。
聲明內(nèi)聯(lián)函數(shù)看上去和普通函數(shù)非常相似:
void f(int i, char c);
當(dāng)你定義一個(gè)內(nèi)聯(lián)函數(shù)時(shí),在函數(shù)定義前加上 inline 關(guān)鍵字,并且將定義放入頭文件:
inline
void f(int i, char c)
{
// ...
}
任何在類的說明部分定義的函數(shù)都會(huì)被自動(dòng)的認(rèn)為是內(nèi)聯(lián)函數(shù)。
內(nèi)聯(lián)函數(shù)必須是和函數(shù)體申明在一起,才有效。像這樣的申明Inline Tablefunction(int I)是沒有效果的,編譯器只是把函數(shù)作為普通的函數(shù)申明,我們必須定義函數(shù)體。
Inline tablefunction(int I) {return I*I};
這樣我們才算定義了一個(gè)內(nèi)聯(lián)函數(shù)。我們可以把它作為一般的函數(shù)一樣調(diào)用。但是執(zhí)行速度確比一般函數(shù)的執(zhí)行速度要快。
我們也可以將定義在類的外部的函數(shù)定義為內(nèi)聯(lián)函數(shù),比如:
Class TableClass{
Private:
Int I,j;
Public:
Int add() { return I+j;};
Inline int dec() { return I-j;}
Int GetNum();
}
inline int tableclass::GetNum(){
return I;
}
上面申明的三個(gè)函數(shù)都是內(nèi)聯(lián)函數(shù)。在C++中,在類的內(nèi)部定義了函數(shù)體的函數(shù),被默認(rèn)為是內(nèi)聯(lián)函數(shù)。而不管你是否有inline關(guān)鍵字。
內(nèi)聯(lián)函數(shù)在C++類中,應(yīng)用最廣的,應(yīng)該是用來定義存取函數(shù)。我們定義的類中一般會(huì)把數(shù)據(jù)成員定義成私有的或者保護(hù)的,這樣,外界就不能直接讀寫我們類成員的數(shù)據(jù)了。對(duì)于私有或者保護(hù)成員的讀寫就必須使用成員接口函數(shù)來進(jìn)行。如果我們把這些讀寫成員函數(shù)定義成內(nèi)聯(lián)函數(shù)的話,將會(huì)獲得比較好的效率。
Class sample{
Private:
Int nTest;
Public:
Int readtest(){ return nTest;}
Void settest(int I) {nTest=I;}
}
面向?qū)ο?/p>
http://weahome.cn/article/iehpip.html