- ricshard444: Fényképező ? Telefon helyett
- btz: Internet fejlesztés országosan!
- Austin F.: MOD Android: Appok teljes képernyőn – immerzív mód
- gban: Ingyen kellene, de tegnapra
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- droidic: YouTube videók és playlistek letöltése GUI-alkalmazással
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Pajac: 10 a 12-ből (HD4400 iGPU)
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
Gyuri16 #1681 üzenetére
dabadab, Gyuri16: hmm, végül is igazatok van, sebességkritikus alkalmazásoknál akkor ezzel tényleg könnyen lehet optimalizálni.
Valóban, végül is arra imént nem gondoltam, hogy egy sokparaméteres függvény elég ocsmány lehet - bár be lehet pakolni tömbbe is a dolgokat, így egy paraméterbe "benyomsz" mindent, de ez sok esetben eléggé overkill lehet; az meg még ocsmányabb, ha globális változókkal szarakodunk, meg mondjuk nem mindent kell feltétlenül tárolni osztályváltozók formájában. -
Sk8erPeter
nagyúr
válasz
Gyuri16 #1677 üzenetére
Mondjuk a threadben még csak az elejénél tartottam, amikor írtam, Linus tényleg egy kicsit ajtóstul ront a házba (de minden házba
).
"de igen, viszont ha a cel a minel kisebb/gyorsabb kod, akkor jobban jarsz a kis fuggveny inlineolasa (vagy call) helyett a goto-val."
A "kisebb kód" részt úgy érted, hogy a fordítás után összességében valszeg kisebb kódot eredményez a függvényhívás, mert kihagyható a függvényhívás? Vagy hogy?
Ha csak úgy, hogy maga az eredeti forráskód kisebb lesz, hát azt nem látom be, hogy miért. Egy metódus/függvény fejléce és a blokkot közrefogó kapcsos zárójelek olyan nagyon sok helyet foglalnak pluszban?
De ilyen alapon akkor ott a label, meg a kettőspont... de vaze, itt már pár karakternyi különbségekről beszélünk.
Ha meg a gyorsaságról van szó, végül is a függvényhívás overheadje így a gotoval valóban elkerülhető, de azt hiszem, erről csak nagyon durván sebességkritikus alkalmazások esetén van egyáltalán értelme beszélni, ahol az adott konfiguráció van olyan gyenge, hogy ilyen szintű különbségek egyáltalán érzékelhetők legyenek.
Mondjuk arra kíváncsi lennék, milyen szintű különbségek jöhetnek ki."raadasul a goto csak egy sor, mig a fuggvenyhivas + return 2
"
Mivel ott a smiley, ezt inkább viccnek veszem, mint érvnek.=====
(#1678) proci985 :
akkor jó, megnyugodtam, már azt hittem, az is szar könyvnek minősül.Szerintem az a kifejezetten jók közé tartozik. Amúgy az egyik író, Benedek Zoltán C#-ban is jó koponya, azt is tanít nálunk.
-
Sk8erPeter
nagyúr
válasz
Gyuri16 #1671 üzenetére
Valamit félreértettél, én nem utasítom el dogmatikusan.
Inkább csak kíváncsi voltam a szempontokra és konkrét példákra, hogy vajon miért jobb, és mi lehet az alternatíva. Hát már kötekedni sem lehet?
Csak felvetettem, hogy lehetnek alternatívák, vajh' miért jobb a goto.
Ez a thread bejövős, végre olvasok igazi érveket is, korábban csak vitatható szempontokat olvastam arra vonatkozóan, hogy miért is jó vagy miért is rossz. Igazából én speciel egyelőre csak batch-programozásnál használtam goto-kat, komolyabb nyelveknél eddig elkerültem, valahogy eddig egyáltalán nem állt rá a kezem/agyam.
Egyébként tuti, hogy néhány kód valóban rövidebb lehetne goto-val (pl. elkerülve a sok if-et, külön függvénybe rakást, stb.), de egyelőre eléggé ódzkodom tőle - lehet, hogy jobb is, ha nem akarok ócsárlást hallani másoktól.Amúgy bírom Linus Torvalds stílusát, az biztos, hogy nem veti csak úgy alá magát véleményeknek.
Ja, majdnem lemaradt az érdemi részre reagálás:
"masodik pontod: szerintem itt dabadab arra gondolt, hogy ha pl valamilyen resourcot fel kell szabaditani return elott. itt egyszserubb a vegere tenni a felszabadito kodot returnnal, es a tobbi helyrol csak gotozni a vegere. persze c++ eseten ezt illik OO szinten megoldani, vagy finally-ban.."
Az utolsó mondatoddal végül is elmondtad, amit akartam mondani.
Ilyen esetben továbbra sem látom semmi értelmét/hasznát/átláthatóságbeli előnyét a goto-nak, mert nem értem, C++ topicban miért is ne feltételezhetnénk, hogy mondjuk destruktorban vagy más metódussal intézzük el az erőforrások felszabadítását, stb... vagy megint máshogy, akár egy mezei globális függvénnyel...
Nem épp a sűrűn ismétlődő feladatok elvégzésére szoktunk például függvényeket írogatni? -
proof88
addikt
válasz
Gyuri16 #1122 üzenetére
az ncb fájlt letörölheted nyugodtan, az csak az intellisense-nek kell és a VS automatikusan újragenerálja majd ismerősödnél ... sőt egyébként van amikor megbolondul az intellisense és nem akar működni rendesen, olyankor is ajánlott letörölni azt a fájlt.
Valamint a VS által létrehozott debug ill release mappákat is törölheted, oda csak a fordítás eredményei kerülnek. -
Gyuri16
senior tag
válasz
Gyuri16 #1027 üzenetére
ok, ez igy hulyeseg
kozben rajottem, mi volt a lenyegi gond, tehat az operator[] fv-nek egy referenciat kell visszaadni, itt konkretan egy pointerre.
erre jutottam, leirom azoknak, akik az elozot elolvastak es nem ertik min kinlodok
(ha esetleg lehet jobban, szoljatok)#include <iostream>
#include <vector>
using namespace std;
class ChildList {
private:
vector<int *>* v;
public:
ChildList(int n) {v = new vector<int *>(n);}
int* & operator[] (const int index);
};
int * & ChildList::operator[](const int index) {
return (*v)[index];
}
int main(int argc, char **argv) {
ChildList cl(10);
int * a = new int(5);
cl[0] = new int(5);
cl[1] = a;
cout << *cl[0] << *cl[1];
return 0;
} -
G4bi89
senior tag
Nem volt korrekt a dolog értem én mondjuk félig meddig viccnek szántam szmájli lemaradt így nem véresen komolyan vettétek
Viszont eszem ágában nincs programozásban elhelyezkedni majd 1féléves tantrágy szóval csak most van. Nem is értem mért rakták be mert egy rendszergazdának azért ritkán kell C++ - ban programokat írni. Na mind1
Köszönet minden tanácsért ennek ellenéreTaláltam itt ott dolgokat
Karakter számlálásra:
[http://pastebin.com/nWSkM35G]Magánhangzó számlálás:
[http://pastebin.com/5bzbJWMv]
Igaz itt magát a betűket írja ki nem a darabszámát.Összehozni nem sikerült a dolgokat még
ps.:
Kétdimenziós tömböt nem vettük így az kilőve szerintem. (áltozok,adatkiírás,bevitel,feltétel vizsg,ciklusok,tömbök, véletlen számok rand fg. külső fájlok beolvasása, struktúrák ami volt) -
Jester01
veterán
ss << year << '.'; //Ev
if (month < 10) { // 1 helyett 01 legyen
ss << 0;
}
ss << month << '.'; //Honap
if (day < 10) {
ss << 0;
}
ss << day << '.'; //NapEzt c++ nyelvjárásban úgy mondják, hogy
ss << setfill('0')
<< setw(4) << year << '.'
<< setw(2) << month << '.'
<< setw(2) << day << '.'; -
j0k3r!
őstag
hello! elakadtam :/
van egy ilyen strukturam:
struct user
{
char nev[20];
char ok[30];
char datum[11];
};egy ilyen bovitofuggvenyem:
int banlist::bovit()
{
user adat;
system("cls");
cout<<"uj ban hozzaadasa"<<endl;
cout<<"-----------------"<<endl;
cout<<"nev: ";
cin>>adat.nev;
cin.ignore(80,'\n');
cout<<"ban oka: ";
cin.getline(adat.ok, 30);
cout<<"datum: ";
cin.getline(adat.datum, 11);
cout<<endl;
lista.push_back(adat);
cout << "\nsikeresen bovitettuk a listat";
cin.clear();
cout << endl;
return 0;
}teszt celjabol ugy csinaltam meg, hogy kezzel kelljen bevinni a datumot, de a te modszereddel sehogy se megy. tudnal segiteni, hogy az adat.datum -ba az aktualis datum keruljon?(2000.01.01. formaban)
elore is koszi.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Ezek a OnePlus 12 és 12R európai árai
- Légies iPhone halvány színei
- exHWSW - Értünk mindenhez IS
- Reklámblokkolók topikja
- Kínai és egyéb olcsó órák topikja
- EAFC 25
- DUNE médialejátszók topicja
- CURVE - "All your cards in one." Minden bankkártyád egyben.
- LEGO klub
- LCD, plazma és projektoros TV-k hibái
- További aktív témák...
- Bontatlan Apple 96W USB C hálózati adapter (töltő) eladó
- 16GB RAM 1TB Háttér 10,1" NoName
- Chuwi HiPad Pro 8GB/128GB 10.8" 2K 8mag 2SIM Alu ház 7,5mm 450g
- BONTATLAN STEELSERIES TERMÉKEK BOMBA ÁRON! ÚJ, AZONNAL ÁTVEHETŐ!
- ASUS ROG Strix Scar 16 G634JZR i9-14900HX, 32GB DDR5, RTX 4080 (2027.08-ig garis)
- Új, verhetetlen alaplap sok extrával!
- Xiaomi Redmi Note 13 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Bowers/Wilkins Px7 S2 fejhallgatók
- BESZÁMÍTÁS! ASUS Z390 i5 9500 16GB DDR4 512GB SSD RTX 2060 Super 8GB Rampage SHIVA Thermaltake 500W
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest