• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

c++ długie definicje

Object Storage Arubacloud
+1 głos
399 wizyt
pytanie zadane 5 czerwca 2019 w C i C++ przez MegaaSoft Obywatel (1,430 p.)

Witam mam mały problem zaczynam z c++ i wie ktoś jak zrobić długą definicje na parę linijek 

chodzi mi o 

#define

bo mam kod zawierający 1289 znaków i muszę go wpisać 120 razy w jednym pliku a nie chce mieć jednego takiego długiego pliku.

Używam visual studio 2017

komentarz 5 czerwca 2019 przez Hiskiel Pasjonat (22,830 p.)
Ten plik i tak taki będzie. Pokaż kod, to zapewne z 1300 znaków zrobi się trochę mniej.
komentarz 5 czerwca 2019 przez MegaaSoft Obywatel (1,430 p.)
za bardzo kodu pokazać nie mogę bo to prywatny projekt.

a przy tylu linijkach kodu visual studio mi po prostu laguje. a do funkcji to nie może być.

a jak tak obliczyłem to plik by mial 154 980 linijek co na mój pc jest nie możliwe do osiągnięcia. chciałem to zrobić również jako pętla for ale crashuje a jak debbuguje to nic
komentarz 5 czerwca 2019 przez tkz Nałogowiec (42,000 p.)
Dlaczego nie może być w funkcji?
komentarz 5 czerwca 2019 przez MegaaSoft Obywatel (1,430 p.)

bo to nie jest np taki kod

void t1()
{
if(cos)
{
jakiś kod
}}

 

komentarz 5 czerwca 2019 przez tkz Nałogowiec (42,000 p.)
A jaki? Chcesz pomocy? To przedstaw to w normalny sposób, do lekarza też idziesz i nie mówisz co Cie boli?
komentarz 5 czerwca 2019 przez MegaaSoft Obywatel (1,430 p.)

ale mi chodzi po prostu czy jest możliwe zrobienie długiej definicji a nie chce ujawniać kodu czy to tak trudno zrozumieć?

mam na myśli dłuższą wersje tego 

#define

 

komentarz 5 czerwca 2019 przez tkz Nałogowiec (42,000 p.)
edycja 5 czerwca 2019 przez tkz
To zależy, ale raczej tak. Poczytaj o syntactic sugar.
komentarz 5 czerwca 2019 przez MegaaSoft Obywatel (1,430 p.)

Ej czy to tak by nie zadziałało?

#define blok blok_codu_1\
Blok_Codu_2


Nie mam mnie teraz w domu i się pytam

komentarz 5 czerwca 2019 przez tkz Nałogowiec (42,000 p.)
To zależy. Prawdopodobnie masz bardzo słabo napisany kod.
komentarz 5 czerwca 2019 przez MegaaSoft Obywatel (1,430 p.)
jak słabo napisany kod ja sie pytam o definicje czy taka zadziała a ty  mi tu o kodzie wyskakujesz koleś zastanów się o czym piszesz
komentarz 5 czerwca 2019 przez tkz Nałogowiec (42,000 p.)
Nie muszę widzieć Twojego kodu by stwierdzić że jest słaby. Skro masz "bo mam kod zawierający 1289 znaków i muszę go wpisać 120 razy w jednym pliku a nie chce mieć jednego takiego długiego pliku." to znaczy, że jest źle napisany. Poczytaj co to funkcje i jak dzielić program na pliki.
komentarz 5 czerwca 2019 przez MegaaSoft Obywatel (1,430 p.)
ty koleś już lepiej nic nie pisz co, bo się pogrążysz
komentarz 5 czerwca 2019 przez criss Mędrzec (172,590 p.)
@tkz odpowiadaj na zadane pytanie zamiast mówić ludziom, że piszą zły kod nawet go nie widząc XDD plox

To jest tak absurdalne, że nie wiem czy powinieneś dostać ostrzeżenie czy coś innego..
1
komentarz 5 czerwca 2019 przez tkz Nałogowiec (42,000 p.)
To ostrzeżenie mi wisi. Gdyby kod był dobry, autor nie miał by takich rozterek, po za tym, nie musisz widzieć efektu twórczego by ocenić efekty.

1 odpowiedź

+2 głosów
odpowiedź 5 czerwca 2019 przez criss Mędrzec (172,590 p.)

Możesz wyrzucić ten powtarzający się kod do innego pliku i wielokrotnie korzystać z #include. A jeśli chodzi o wielo-liniowy #define, to na koniec każdej linii (z wyjątkiem ostatniej) dodajesz backslash, np.:

#define SOMEDEF line1\
line2\
line3
komentarz 5 czerwca 2019 przez MegaaSoft Obywatel (1,430 p.)
Criss dziękuje ci za to ale spójrz na moją odpowiedź wyżej już się zapytałem czy to zadziała, Ale Dziękuje za odpowiedź jeden normalny dobry człowiek na tym forum.
komentarz 5 czerwca 2019 przez criss Mędrzec (172,590 p.)
Szczerze, to nie mam zielonego pojęcia dlaczego dostałeś dwa minusy XD
komentarz 5 czerwca 2019 przez MegaaSoft Obywatel (1,430 p.)
Ja również tego nie rozumiem. Chyba oni czegoś nie zrozumieli w tym pytaniu. Jeszcze raz ci dziękuje
komentarz 5 czerwca 2019 przez adrian17 Ekspert (344,860 p.)
Osobiście minusów nie rozumiem, natomiast też jestem zdania że #define brzmi podejrzanie i z dużym prawdopodobieństwem istnieje lepsze rozwiązanie... szkoda, że nie znamy kodu.
komentarz 5 czerwca 2019 przez MegaaSoft Obywatel (1,430 p.)
Uwierz mi że nie ma innego wyjścia niż #define chyba że miałbym kompa z NASA to nie pytał bym o to

Podobne pytania

0 głosów
1 odpowiedź 206 wizyt
pytanie zadane 22 listopada 2018 w C i C++ przez jakubkoksik Początkujący (260 p.)
0 głosów
1 odpowiedź 603 wizyt
pytanie zadane 21 sierpnia 2017 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)
0 głosów
1 odpowiedź 218 wizyt

92,551 zapytań

141,393 odpowiedzi

319,522 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...