2016-03-25 27 views
-1

Bir işlev etrafında bir makro sarıcı oluşturmaya çalışıyorum, böylece kodu okuma konusunda daha sezgisel hale getirebilirim. send_message_to_destination (m, d)'u çağırmak yerine, yazmak için (m) - (d) gönderin.Bağımsız değişkenler için makroları kullanın

#include <stdio.h> 

void send_data_to(int data, int dest) 
{ 
    printf("Send %d to %d\n", data, dest); 
} 


#define send(data)to(destination) send_data_to(data, destination) 

int main() { 

    int data = 5; 
    int dest = 10; 

    send(data)to(dest); 
} 

Bunu yapmak mümkün mü? Bu, kodu daha okunabilir veya sezgisel yapar mı?

+2

Bir dil icat etmek onları kullanıyorsanız makrolar kod daha sezgisel hale getirmek için az rastlanır bir ile bunu yapmak için böyle bir yolu yoktur. –

+3

Bu aslında herhangi bir C programcısı için daha az sezgiseldir. Hangi dilden arınmış bir yolla C dilini değiştirmeye çalışmayın. C sözdizimini kullanmak istemiyorsanız, farklı bir dil size daha uygun olabilir. Hiçbiri yoksa, kendiniz yazın, ancak bunu makrolarla denemeyin. – Olaf

+0

Geri bildiriminiz için teşekkür ederim, ama çok iyi İngilizce bilmediğim için kendimi yanlış ifade ettim. Daha çok doğal dil gibi görünen bir kod yazmak istedim ve bunu C++ 'da kullanmak istiyorum. Ben şahsen communicator.send (message1) 'dan (server1) communicator.send (mesage1, server1)' den daha iyi olduğunu düşünüyorum. –

cevap

0

Yorumları kabul ediyorum (iyi bir fikir değil), ancak bunun gibi bir şeyi kullanabilirsiniz. İşlemcinin sadece bir metni makrolarınızla değiştirildiğini unutmayın.

#define to(destination) destination) 
#define send(data) send_data_to(data, 
İlgili konular