列印一首唐詩的N種實現之三:巨集替換
雖然在C++在一般推薦不要使用巨集,但在一些特定的場合,巨集還是能發揮很大的作用。下面就是一些巨集替換法,思路應該是不言自明的了。
1、替換main()函式
#define main main()...{
cout<<"白日依山盡, "<<"黃河入海流, "<<"欲窮千里目, "<<"更上一層樓. ";
return0;
}
int no_use
int main()
...{
cout<<"白日依山盡, ";
return0;
}
2、替換cout
#define cout cout << "白日依山盡, "<<"黃河入海流, "<<"欲窮千里目, "<<"更上一層樓. ";while (0) coutint main(void)
...{
cout <<"白日依山盡, ";
return0;
}
3、替換return
#define return cout << "黃河入海流, 欲窮千里目, 更上一層樓. "; returnint main()
...{
cout<<"白日依山盡, ";
return0;
}
相關推薦
列印一首唐詩的N種實現之三:巨集替換
雖然在C++在一般推薦不要使用巨集,但在一些特定的場合,巨集還是能發揮很大的作用。下面就是一些巨集替換法,思路應該是不言自明的了。 1、替換main()函式 #define main main() ...{ cout<<"白日依山盡, "<<
求 n元一次不定方程 解的個數 的 兩個版本和n種實現方法
版本1: 有方程a1*x1+a2*x2+...an*xn=N,給定n(1000=>n>=1)個係數ai(1000>=ai>=0)和N(1000>=N>0),求滿足這個方程的非負整數解(x1,x2...xn)的個數。(結果對10007取模)
C語言----斐波那契數的n種實現方法
斐波那契數列(Fibonacci):第1,2兩個數為1,1。從第三個數開始,該數是其前面兩個數之和。 1.使用簡單程式碼實現 (1)每次迴圈只輸出後一位數 思想:前兩個數為1,1。先定義前兩個變數a,b。第三個數為前兩兩個數之和,定義第三個變數c,c=a+b;現在有三個數,為了避免冗餘,把
代理模式的詳解(一)---SpringAOP的兩種實現代理模式的詳細解讀
現在在生活中,許多軟體系統都提供跨網路和系統的應用,但在跨網路和系統應用時,作為系統開發者並不希望客戶直接訪問系統中的物件。其中原因很多考慮到系統安全和效能因素,因素還有很多,也就不再進行一一的列舉了,所以,想到了在客戶端和系統端新增一層中間層----代理層,也是即將要介紹的代理模式。 首先,明確
java 列印空心菱形的兩種實現
第一種實現方式: //列印給定行數的空心菱形 public static void draw(int size){ if (size % 2 == 0) //如果是偶數行變為奇數 { size++; }
【Android】一、Progress進度條實現的三種方式:主執行緒實現,Service載入,動態建立
前言 更新版本,上傳資料到服務端,都是需要進度顯示的,Android進度顯示兩種方式 ProgressDialog 和 ProgressBar 新版本中ProgressDialog不被推薦使用,所以專案採用ProgressBar 分為三種實現方式: 1、MainAct
Android的單例模式的N種實現方式
推薦書籍:《Android原始碼設計模式 第二版》 單例模式的定義及使用場景 定義:確保某個類只有一個例項,而且自行例項化提供給外部使用。 使用場景:某個型別的物件只應該有且只有一個,或者避免建立多個物件消耗過多的資源時。如:訪問IO或資料庫時要考慮單例模式。 N種實現方式及比較&n
網頁上的“返回上一頁”的幾種實現程式碼
在製作網頁的時候,經常在網頁上要用到“返回上一頁”的功能。這一功能在製作網頁的時候會有多種編碼方法,在此,我們鄭州網站建設公司將比較常用的幾種編碼的寫作方法在下面列出來,供各位技術人員參考使用。 方法一、以按鈕點選的方式實現: <input typ
CSS兩列布局的N種實現
一、什麼是兩列布局 兩列布局分為兩種,一種是左側定寬、右側自適應,另一種是兩列都自適應(即左側寬度由子元素決定,右側補齊剩餘空間)。在CSS面試題裡面屬於常考題,也是一個前端開發工程師必須掌握的技能,下面將分別介紹實現方式。 二、左側定寬、右側自適應如何實現? 1.雙inline-block
CRC16算法之三:CRC16-CCITT-MODBUS算法的java實現
targe func tag art pub gui itl 實現 oct CRC16算法系列文章: CRC16算法之一:CRC16-CCITT-FALSE算法的java實現 CRC16算法之二:CRC16-CCITT-XMODEM算法的java實現
Android三種動畫之(三)屬性動畫
分享自Carson_Ho的簡書,這篇寫的很詳細,我就不浪費時間寫了 目錄 目錄 1. 屬性動畫出現的原因 屬性動畫(Property Animation)是在 Android 3.0(API 11)後才提供的一種全新動畫模式 那麼為什麼要提供屬性動畫
【連載】redis庫存操作,分散式鎖的四種實現方式[三]--基於Redis watch機制實現分散式鎖
一、redis的事務介紹 1、 Redis保證一個事務中的所有命令要麼都執行,要麼都不執行。如果在傳送EXEC命令前客戶端斷線了,則Redis會清空事務佇列,事務中的所有命令都不會執行。而一旦客戶端傳送了EXEC命令,所有的命令就都會被執行,即使此後客戶端斷線也沒關係,因為Redis中已經記錄了所有要執行的
統計學習方法c++實現之三 樸素貝葉斯法
樸素貝葉斯法 前言 樸素貝葉斯法是基於貝葉斯定理與特徵條件獨立假設的分類方法,這與我們生活中判斷一件事情的邏輯有點類似,樸素貝葉斯法的核心是引數的估計,在這之前,先來看一下如何用樸素貝葉斯法分類。 程式碼地址https://github.com/bBobxx/statistical-learning,歡
多爬蟲實現之三 -- 多爬蟲檔案
目標 優化現有的爬蟲結構,實現同時開始執行多個爬蟲 1 為什麼需要優化現有的爬蟲結構 當爬蟲比較少的時候,我們的專案結構相對合理,但是當要抓取的網站比較多的時候,可以借鑑scrapy的方法,把不同網站的爬蟲分別在不同的py檔案中編寫,之後放在一個目錄下;同時,我們很多時候還
Linux作業系統備份之三:通過二進位制拷貝(dd)方式實現Linux作業系統資料的備份
今天我們介紹另外一種粗曠,但是相對簡單的備份方法:通過dd命令二進位制拷貝方式備份作業系統資料。dd拷貝的方式不能線上實施,因為dd是二進位制的塊拷貝,若拷貝過程中有寫檔案操作,會導致檔案系統不一致(如某個節點建立到一半被dd拷貝走了),因此,這種方式必須進入記憶體操作系的單使用者模式下操作,實施
設計模式之三:工廠方法模式—多型工廠的實現
簡單工廠的嚴重問題: 當系統中需要引進新產品時,靜態工廠方法通過所傳入引數的不同來建立不同的產品,這必定要修改工廠類的原始碼,違背了開閉原則 引入工廠方法模式: 針對不同的產品提供不同的工廠 定義: 定義一個用於建立物件的介面,讓子類決定將 哪一個類例項化,工廠方法迷失
經濟學十大原理之三:一件物品的成本是你為了取得它而放棄的其他物品
經濟學中的成本與會計中的成本是不一樣的。經濟學的成本包括了所有為得到某個物品而放棄的其他的物品或者價值,直白一點的說,就是我們常說的機會成本。經濟學中為了使研究的問題得到簡化,常常採用二分法來進行。如果不是A,那麼就是 B。實際是經濟學中所面臨的經濟物品實在包括世界萬物,但是簡化的二分法經濟
C++ COM實現之三 實現類廠
類廠是什麼?就是一個工廠用於建立各種產品,將建立好的產品提供給外部使用者使用。其實現如下: factory.h #pragma once #include "unknwn.h" class CClassFactory : public IClassFactory { pu
hadoop初識之三:搭建hadoop環境(配置HDFS,Yarn及mapreduce 執行在yarn)上及三種執行模式(本地模式,偽分散式和分散式介)
--===============安裝jdk(解壓版)================== --root 使用者登入 --建立檔案層級目錄 /opt下分別 建 modules/softwares/datas/tools 資料夾 --檢視是否安裝jdk rpm -
微信小遊戲開發之三:實現小遊戲的簡易引擎
一、建立引擎目錄 在主目錄下建立名為'lib'的資料夾,存放引擎程式碼 二、建立所有遊戲元素的基類:Node 在'lib'資料夾下建立'node.js'檔案; 一個元素,需要座標去定義位置,長寬來定義範圍,還需要能夠切換顯示狀態,新增子元素和獲取父元素等等 程式碼如下: