亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 7526 | 回復: 12
打印 上一主題 下一主題

[C++] 字符串連接數(shù)字的宏定義 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-04-21 22:28 |只看該作者 |倒序瀏覽
假如我有int型變量  a1 a2 a3 a4 a5 a6 a7 a8 a9 a10

想實現(xiàn)
for(int i=1;i<=10;++i)
{
    //完成ai 賦值操作
}

求宏定義連接 字符串和數(shù)字

多謝各位了...

論壇徽章:
0
2 [報告]
發(fā)表于 2009-04-21 22:31 |只看該作者
宏是靜態(tài)的,不是動態(tài)的

論壇徽章:
2
青銅圣斗士
日期:2015-11-26 06:15:59數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2016-07-24 06:20:00
3 [報告]
發(fā)表于 2009-04-21 23:25 |只看該作者

回復 #1 迷離 的帖子

#include <iostream>
#include <boost/preprocessor/repetition/enum_params.hpp>

int main()
{
    using namespace std;

    int a0=0,a1=1,a2=2,a3=3,a4=4;
    int* pa[] = { BOOST_PP_ENUM_PARAMS(5,&a) };
    for (int i=0;i<sizeof(pa)/sizeof(pa[0]);++i)
        *pa[ i ] = *pa[ i ] + i;
   
    cout<<a0<<" "<<a1<<" "<<a2<<" "<<a3<<" "<<a4<<endl;
    cin.get();
}


輸出: 0 2 4 6 8

論壇徽章:
0
4 [報告]
發(fā)表于 2009-04-21 23:29 |只看該作者

回復 #3 OwnWaterloo 的帖子

多謝回復

你沒理解我的問題

論壇徽章:
2
青銅圣斗士
日期:2015-11-26 06:15:59數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2016-07-24 06:20:00
5 [報告]
發(fā)表于 2009-04-21 23:33 |只看該作者

回復 #4 迷離 的帖子

已經(jīng)和你需要的功能很接近了吧?

這個for循環(huán):
    for (int i=0;i<sizeof(pa)/sizeof(pa[0]);++i)
        *pa[ i ] = *pa[ i ] + i;

操作的就是:
int a0=0,a1=1,a2=2,a3=3,a4=4;

從輸出就可以看出這點。


要完全達到你的目標 ……   我真想不出什么辦法 ……
將a0, a1, ... an, 重構為 int a[n-1] 吧。。。

論壇徽章:
0
6 [報告]
發(fā)表于 2009-04-22 00:11 |只看該作者

回復 #1 迷離 的帖子

這個寫的是不算太清楚!呵呵,沒理解LZ的意思! :wink:

論壇徽章:
5
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:172015亞冠之水原三星
日期:2015-06-02 16:34:202015年亞冠紀念徽章
日期:2015-10-19 18:13:37程序設計版塊每日發(fā)帖之星
日期:2015-11-08 06:20:00
7 [報告]
發(fā)表于 2009-04-22 00:55 |只看該作者
只能一個一個的連,或者用數(shù)組

論壇徽章:
0
8 [報告]
發(fā)表于 2009-04-22 05:09 |只看該作者
#define CONCAT(mystring,mynumber) mystring#mynumber

這樣?

論壇徽章:
0
9 [報告]
發(fā)表于 2009-04-22 11:32 |只看該作者
原帖由 OwnWaterloo 于 2009-4-21 23:25 發(fā)表
#include
#include

int main()
{
    using namespace std;

    int a0=0,a1=1,a2=2,a3=3,a4=4;
    int* pa[] = { BOOST_PP_ENUM_PARAMS(5,&a) };
    for (int i=0;i

這樣都能編譯通過 好詭異啊

突然冒出來一個&a

論壇徽章:
2
青銅圣斗士
日期:2015-11-26 06:15:59數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2016-07-24 06:20:00
10 [報告]
發(fā)表于 2009-04-22 14:59 |只看該作者
原帖由 皇家救星 于 2009-4-22 11:32 發(fā)表
這樣都能編譯通過 好詭異啊


int main()
{
    using namespace std;

    int a0=0,a1=1,a2=2,a3=3,a4=4;
    int* pa[] = { &a0 , &a1 , &a2 , &a3 , &a4 };
    for (int i=0;i<sizeof(pa)/sizeof(pa[0]);++i)
        *pa[ i ] = *pa[ i ] + i;

    cout<<a0<<" "<<a1<<" "<<a2<<" "<<a3<<" "<<a4<<endl;
    cin.get();
}

這是源代碼預處理之后的結果。 顯然是合法的C++代碼嘛。
當然能編譯通過。

我覺得這就是樓主的需求 ……
將a0, a1, a2, ... 這種設計, 轉換到數(shù)組的設計。
樓主好像沒看出來……

[ 本帖最后由 OwnWaterloo 于 2009-4-22 15:01 編輯 ]
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP