如何用C++告白?

喜歡一個寫C++的學長,我也會寫代碼,想用C++告白的說(/ω\),所以,有什麼好的idea嗎?(/ω?\)
thx~|ω?`)


#include &
int main()
{
std::cout &<&< "你是否知道他也喜歡你?(Y/N)" &<&< std::endl; char c = 0; bool loveYou = false; std::cin &>&> c;

if (c == "Y")
{
loveYou = true;
}
else
{
loveYou = false;
}

if (!loveYou)
{
std::cout &<&< "這招是沒用的,得到的是類似"謝謝,你是一個很好的女生,我真的" "很感動,但是......最後真的謝謝!"" &<&< std::endl; std::cout &<&< "畫面太美,我不敢看,具體可以打開旁邊的網址"; std::cout &<&< "https://pic1.zhimg.com/0ed4344f448006bbe91864bef6a5cc80_b.png" &<&< std::endl; std::cout &<&< "告白並不會提升喜歡你的幾率,他不喜歡你,告白是沒有任何用的。" &<&< std::endl; } else { std::cout &<&< "直接約出來聊聊天,直接說就好,用什麼C++. " "強勢一點,走路的時候,直接把手牽住,他那天晚上回到寢室,會" "高興的跳舞。" &<&< std::endl; } }


WORD IS LESS, SHOW ME YOUR CODE.
CODE IS LESS, JUST TELL HIM "I LOVE U".

(≧▽≦)/


····························································
(原創)劇本+分析,來聽我說。

我是一個學C++的少年,那天晚上,一個女生約我去學校人工湖邊的榕樹下說有東西給我看,追問她是什麼東西她說等我來了就知道了,我放下了手裡活穿上了夾克推門而出,從遠處我就看到她早已經在樹下等我了,她一直背對著我,等我走近了她才回頭,她稍微扯開衣領指著自己的鎖骨說,你看,這是我今天去紋身店紋的一段C++的代碼,好看嗎?你幫我看看唄,不會有BUG吧?哈哈,我一時有點不知所措,我用手機燈照在她的鎖骨上,腦袋探了過去,這時一雙嬌柔的小手捧住我的臉,我的臉頰微微一熱,是她,緊接著她閉上眼睛親了我的嘴唇,然後迅速的抱住了我,她的頭埋在了我的懷裡,她的發香讓我感到愉悅,她說她喜歡我很久了。

來一波分析,
1,不用你真的去紋身,你叫個英文寫得好看的人在你鎖骨上寫字。
2,在榕樹下等你男神時,如果你知道你男神從哪個方向來,你就背對哪個方向,這樣你的心情會平靜一些。
3,跟你男神說話時一定要溫柔溫柔再溫柔,強行把你男神帶入氛圍。
4,你捧臉親他的時候,你要考慮到你和你男神身高差,你男神探頭的速度這些細節,以免笨手笨腳失去美感。
5,親完之後我想你還是很害羞,這時候順勢抱著他的身體,頭埋在她懷裡,用你的發香讓他舒心,提高成功幾率。
·····························································


不要直接告白!
不要直接告白!
不要直接告白!

刷點程序題,然後不會的時候,或者是出bug的時候,就問他,請教他,最後一臉崇拜的樣子,謝謝他,誇他。
沒有人不喜歡給人贊的。
然後還可以藉機請吃飯啥的。

好了,等好感度刷夠了,等他習慣了你,等感覺他對你有好感時。

寫一個解碼程序,例如base64之類的(記得別太難ㄟ( ̄▽ ̄ㄟ))
把你要說的話編好碼,然後寫一段有bug的解碼代碼,接著就問他,這段代碼怎麼輸出都是錯誤結果,讓他幫你找問題。

當他很認真的搞好之後,肯定會看到輸出結果的,出其不意的就會造成會心一擊。

對你有意思的話就在一起了。

如果沒意思的話………

你起碼也學到一技之長啊←_←
逃………


貼一下最高票 @藍色 的運行程序的截圖……感覺這是C++第一次用於生活實踐……ide就用來懷念!!

不過說句題外話,題主你是要發表白代碼給學長要他運行嗎?可是他會C艹的話一眼就看出程序運行了呀,這樣好沒意思的,還是直接約出來當面說吧,加油!


多年之前我也做過類似的事,對方是一個妹子,學霸,學過C++。
既然是告白,所以告白的話肯定不能用常量寫到程序里,不然對於那些大神來說還沒運行就猜到結果了,一點都不浪漫 orz

有一天我在網上偶然看到一個有趣的hello world程序,腦洞一開,就寫成了下面這個程序。思路不是我原創的,但鏈接我找不到了,侵刪。

#include &
#include&
char c2[] = { 0xB8, 0x00, 0x00, 0x40, 0x00, 0xc3 };
int _tmain(int argc, _TCHAR* argv[])
{
char str[25];
DWORD temp;
VirtualProtect(c2, 100, PAGE_EXECUTE_READWRITE, temp);
char*(*pf)() = (char*(*)())c2;

str[0] = *pf() - 5;
str[1] = *pf() + 20;
str[2] = *pf() + 35;
str[3] = *pf() + 35;
str[4] = *pf() + 44;
str[5] = *pf() - 45;
str[6] = *pf() + 21;
str[7] = *pf() + 28;
str[8] = *pf() + 37;
str[9] = *pf() + 39;
str[10] = *pf() + 27;
str[11] = *pf() + 23;
str[12] = *pf() + 20;
str[13] = *pf() + 44;
str[14] = *pf() - 44;
str[15] = *pf() - 45;
str[16] = *pf() - 67;
str[17] = *pf() - 7;
str[18] = *pf() + 31;
str[19] = *pf() + 20;
str[20] = *pf() + 32;
str[21] = *pf() + 24;
str[23] = 0;

printf("%s", str);
return 0;
}

第一眼看這程序估計都會感覺莫名其妙,這是在做啥?我們來運行看看

輸出了這麼一段字元串。是不是很奇妙?下面我簡單解釋一下這個程序其實整個程序的關鍵是這條語句

char*(*pf)() = (char*(*)())c2;

這條語句定義了一個返回值為char*,參數為空的函數指針pf,pf指向的是什麼地方呢?看到等號右邊的內容,我把數組c2的地址強制轉換成了一個函數指針,並賦給了pf。而數組c2里是什麼內容呢?

char c2[] = { 0xB8, 0x00, 0x00, 0x40, 0x00, 0xc3 };

看到這裡估計已經有人反應過來了,數組c2里放的其實是一段二進位代碼!

我們調試一下這個程序,看看數組c2里的二進位代碼到底是什麼。

代碼很簡單,就兩句彙編語句。學過彙編都知道,eax寄存器存放的其實是函數的返回值,所以說c2里的代碼如果寫成C語言的話就是這樣的

char *c2()
{
return (char*)0x400000;
}

而對於一個PE程序來說,運行時系統會把程序默認載入到內存0x400000處,所以這個函數其實其實返回的是該程序在內存中的起始位置。

熟悉PE結構的朋友估計都知道,對於一個PE結構的程序來說,最開頭是一個DOS頭,其頭2個位元組必為字元串「MZ」(PE結構大家可以查閱資料,我這裡就不多解釋了)

所以c2返回的其實就是指向DOS頭中開頭的字元『M』的指針
講到這裡,程序後面的代碼相信大家都看得懂了

str[0] = *pf() - 5;

*pf()返回的其實就是字元『M』的ASCII碼,通過查表我們可以得到,字元『M』的ASCII碼為77
那77-5=72,對應的ASCII字元為『H』,所以str[0]="H",所以字元串「Happy birthday!」的第一個字元就是這麼得到的。剩下的字元以此類推,通過一樣的方法,大家也可以自己構造自己想要的字元串。


PS:
1、因為在這個程序中,我們把數組c2里的數據當成指令來執行,而數組c2保存在全局變數存儲區,該段內存默認是不可執行的,所以我們需要用VirtualProtect這個API把該段內存改為可執行的。
2、現在的Windows系統有很多保護系統,ASLR就是其中一個,開啟了ASLR的話,程序默認不一定載入到0x400000處,所以我們可以在vs的工程設置中把隨機基址關閉掉。關閉的方法就是打開工程屬性-&>連接器-&>高級-&>隨機基址選為否,如下圖:

什麼?你問我告白成功了沒?成功了我還會在這天天吃狗糧嗎?
所以不要想著這些沒用的東西啦,多約別人出去玩才是王道。(′A`。)
躲在角落先哭一會~(&>_&<。)\


才疏學淺,不免出現錯誤,若有講錯的地方還請廣大知乎網友指出
共勉 :-D


class MyHeart{
private:
static Beloved *const p = You;
}

switch(You.request){
default: Agree();
}

try{
Love();
}catch(Failure e){
I.Love++;
}

while(You.Love(Me) ? true : true){
I.Love(You);
}


有同志說從1開始好難受,於是我改成了從0開始...
=================================================================
卧槽,竟然會有那麼正兒八經的曬代碼...擱上學那會兒的話,會覺得我特么找到組織了.
BUT!!!NOW!!! 感覺一切都是然並卵!!!

這道題目最優解應該是:

step0. 如果題主是個妹子在追一個程序猿...拿一把HHKB的鍵盤,並且告訴他只要和你在一起,這鍵盤就給他用(切記不能送,不然他有可能後半生就跟鍵盤過了). 之後他的表現應該是這個樣子

step1.如果題主是個妹子在追一個正常的男孩...把他培養成一個程序猿,然後goto step0

step2:如果題主是一個漢子,在追一個程序媛你需要:

2.1.陪她逛街,看電影,吃飯,旅遊
2.2看韓劇,看美劇,看日劇,看泰劇,看中國綜藝,看日本綜藝,看美國綜藝,看港台綜藝
2.3.買包包,買手機,買衣服,買化妝品,買首飾
2.4.學習攝影和PS
2.5.深入了解各種化妝品品牌,深入了解粉底液,眼線液,隔離霜,BB霜,CC霜,唇彩,睫毛膏,眼影等各種往臉上手上還有身上鼓搗的玩意兒
2.6.學習電器和電子產品修理,精通手機,電腦,數碼相機的修理,冰箱,電視,洗衣機,微波爐,烤箱,各種爐灶,熱水器還有汽車的簡單修理和維護.

step3: 如果題主是個漢子,在追一個正常的女生,goto step2.


void jack(const bool love = true){
rose();
}
void rose(const bool love = true){
jack();
}


寫了段拙劣的代碼(希望有更好的版本):

#include&
using namespace std;
int main()
{
long long ago;
int you=1;
char I[]="alone";
while(I[you])
{
if(I[you]=="n") I[you]="v";
cout&<&


用c++寫一個http訪問,一個txt文件,代碼里留個bug,讓他幫忙看看,txt里寫什麼就不用我說了吧?他要是告訴你沒修好,不知道哪裡有問題。你也不用太尷尬!



怒答一波,大一的時候修了C++課,用僅有的知識現學現賣寫過一封情書。

《愛的主函數》

親愛的 你是一個類 儲存著我對你的無限愛意

無論你是什麼類型 愛的指針永遠指向你心的地址

我從一開始就知道我們不可能只是彼此的友元

儘管我們的發展不是那麼的面向過程

我願做你的對象 被你無數次的調用

只做你的PRIVATE

對你的愛只有輸入沒有輸出

我會滿足你所有的需求 經得起任何測試

在我們共同的集成開發環境下我們的愛不斷遞歸

或許我的心是一個VECTOR不斷push_back著你的愛

又或許是一個動態數組 容量無限大

更可能是個鏈表 將我們在一起的每一天一一串聯

還有那些你所說過的那些關鍵字與字元串

也許會像MFC那樣 把它們統統封裝起在我的心裡

儘管未來還只是一個虛函數..

對你的愛也永不析構

即便是要接受你的父類甚至祖先類的調試.

不用擔心 我們的愛絕對運行穩定

雖然有時候會出現一些小小的BUG 絕不用擔心內存泄露

也許有一天也會有子類繼承我們 雖然有些他會重載

相信我們能做好他的模板

對你的愛是個死循環 直到系統崩潰

想想過去快10年了,那時筆觸難免青澀,但情感真摯,是令人懷念的青春時光。


給他寫一個可以改一輩子bug的程序。


第一次寫,你猜我輸出的是什麼呢
#include&
#include&
#include&
using namespace std;
int main(){
vector& str;
str.push_back(105);
str.push_back(0);
str.push_back(109);
str.push_back(105);
str.push_back(115);
str.push_back(115);
str.push_back(0);
str.push_back(121);
str.push_back(111);
str.push_back(117);
for (vector&::iterator i = str.begin(); i != str.end();i++)
{
cout &<&< (char)*i ;
}
cout &<&< endl;
return 0;
}


題主及認真回答問題的諸位,洗洗手到外邊走走吧,真心。


不覺得我能找到一個能看懂cpp的程旭媛當女票……


沒人問下題主性別嗎?


int main()
{
i = "girl";
u = "boy";
for (auto t : forever)
{
"i love u"++;
}

return 0;
}

簡而言之:每天愛你多一點。


C 我愛你,就這樣告白


推薦閱讀:

你們會向不可能的人表白么?
心儀的女生提出:「如果你一星期之內做三件能打動我的事情,我就答應做你女友」,你會怎麼做那三件事?
表白被拒丟臉嗎?
這種情況下,我要不要表白?
如何回應女生向你表白?

TAG:程序員 | 編程 | 表白 | C |