Új hozzászólás Aktív témák
-
Hunmugli
aktív tag
El tudok érni egy nemglobális változót egy függvényből anélkül, hogy benne hoznám létre, vagy hogy átadnám neki?
Valami ilyesmit akarnék megvalósítani:
#include <iostream>
using namespace std;
void kiir ();
int main () {
int szam = 42;
kiir();
return 0;
}
void kiir () {
cout << main::szam << endl; //tudom, hogy ilyen nincs, de szeretnem, ha lenne
}Kb úgy kéne, mintha a mainben közvetlenül létrehozott változók (is) globálisak lennének. Van erre mód?
Szerk.: Ez nem egy probléma, vagy ilyesmi, csak szeretném kijátszani a scope-okat
-
Hunmugli
aktív tag
Egyenlőre nem volt időm a témával foglalkozni, de talán a jövőhéten már lesz. Ismerek egy helyet, tele nehéz feladatokkal, van benne gráfos is, majd meglátom, melyikekkel nem bírok el
-
Hunmugli
aktív tag
Sziasztok!
Egyik ismerősöm ma ezt kérdezte tőlem:
"helpstruct struktura {...};
struktura** s = ...;Ezt hogy kell szebben irni??? `
(*s)->data
`
Nagyon rondaaaaa"Én még mindig kezdő stádiumban vagyok, úgyhogy inkább csak poénból kérdezte, de mutatott egy kódot, és tényleg ráférne, hogy szebb legyen. Én szoktam tőle kérdezni
Jöhet bármilyen megoldás, ami "szebb", csak ne veszítsen értékéből a kód [kell mind2 *].
És egy saját kérdés:
van egy char, ami binárisan mondjuk így néz ki [hogy pontosan melyik, az nem fontos]:char C = 001 000 100
Nos, ha van egy
int N
bemenő adat, akkor hogy lehetC
N-edik bitjét minél egyszerűbben:
-lekérdezni (módosítás nélkül),
-biztosan igazzá tenni,
-biztosan hamissá tenni?Olvasgattam a bitenkénti műveletekről, meg a shift operátorokról, de nem akar működni a dolog
Amúgy sem sikerül elképzelnem 100%, mert a fejemben egy hang ezt mondja: "Baloldalt egy char van, jobboldalt egy bit, ez nem fog menni".
C
bitjei balról jobbra vannak számozva, 0tól kezdődően 7ig. Function szerűen kéne, plbool lekerdez (int N) {...}
Szakirodalommal nem vagyok kisegítve, ezért kérdeztem. Most egy class-t írok gyakorlásképp, ami kb annyit tudna, mint egy bool tömb, csak mivel ebben bitenként lennének az értékek, 8x olyan kevés helyet foglalna. -
Hunmugli
aktív tag
Az a kérdésem van, hogy az alábbi kód miért fordul le gcc 4.9-cel?:
#include <iostream>
using namespace std;
class asd {
public:
int i = 3;
beallit (); //ez nincs is kifejtve
kiir(); //itt sincs tipusmeghatarozas
private:
double a = 4.3; //ez szabalyos?
};
int main()
{
asd asdobj;
cout << asdobj.i << endl;
cout << asdobj.kiir();
return 0;
}
asd::kiir () {
cout << this->a << endl;
return this->a; //es a return int-et ad vissza
}Tudom, hogy hibás, stb, de az én gépemen lefordul (cpp.sh-n nem). Ez annak tudható be, hogy a gcc 4.9.2 nem elég friss?
-
Hunmugli
aktív tag
válasz
bandi0000 #3774 üzenetére
Ezt elvileg tudom mi
Mondom, félrement a // ez mi? --> a mainhez akartam írni
ez egyébként annyit tud, hogy asd értékét beállítja arra, ami a zárójelben van. Ez főleg akkor jó, ha asd egy constans, mert bármilyen más módszerrel hibát dobna (a constans az konstans)
dobragab: köszönöm a részletes magyarázatot
-
-
Hunmugli
aktív tag
válasz
bandi0000 #3769 üzenetére
Nyugi, az alapokkal [...] tisztában vagyok. Hamarosan Sololearn certifikációt is szerzek
[mellesleg csak ajánlani tudom, remek app, és böngészőben is fut.] Az értékadást nem y-ra értettem, hanem x-re.
Szóval hogy adok ennek értéket?:
int x(int(int));
//értékadás
cout << x << endl; //x ne legyen 1dabadab: így már más. És akkor ez mi: értékadás vagy constructor?
#include <iostreams>
using namepsace std;
class valami {
private: int asd; //igen, asd
public:
valami (int a) : asd (a) { } //szoval ez mi?
};
int main () {
valami mas = 2;
}Remélem jól írtam
-
Hunmugli
aktív tag
válasz
bandi0000 #3767 üzenetére
C:
, asszem c++14-gyel. (gnu gcc)
Vagy cpp.sh-val - bár megnézve a figyelmeztetést, szerintem pointereket hoz létre. De értéket nem tudok neki adni
Van ez a módszer:
int y(15);
Azt akartam kipróbálni, hogy van-e ilyen:
int y(15);
y(2*y);Mert az első esetben a () értékadás, hát a másodikban miért ne működne?
(nem működik, y is not a function)
Aztán valahogy az előző kommenben lévő kódot kreáltam
-
Hunmugli
aktív tag
Helló!
Viszonylag új vagyok
c++ teréna programozás világában. Az a kérdésem van, hogy a következő kód mit csinál, miért fordul le, és miért 1 a kimenet:#include <iostream>
using namespace std;
int main ()
{
int x(int(int(int(int(int(int(int(int))))))));
cout << x << endl;
return 0;
}
Ú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!
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Bestbuy játékok
- Tőzsde és gazdaság
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Napelem - 100%-os támogatású pályázat
- Villanyszerelés
- Apple MacBook
- Győr és környéke adok-veszek-beszélgetek
- Milyen légkondit a lakásba?
- Elektromos autók - motorok
- További aktív témák...
- HP Elitebook 840 G8, I7-1185G7, 32 GB RAM, 512 SSD (MAGYAR VILÁGÍTÓ BILLENTYŰZET)
- Eladó használt Gigabyte AMD Radeon HD 6750 videókártya
- GIGABYTE GTX 1060 Mini ITX OC 3GB videókártya
- Új ASUS VivoBook 15 X1504VA - 15,6"FHD IPS - i5-1335U - 16GB - 512GB - Win11 - 1,5 év gari - MAGYAR
- Eladó ASUS ROG Zephyrus G14 GA401Q + teljes gamer szett --csere is érdekel
- 137 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080
- Apple iPhone 13 Pro , 128GB , Kártyafüggetlen
- HYNIX 2GB DDR3 RAM eladó
- AKCIÓ! Gigabyte B760M i5 14600KF 64GB DDR4 512GB SSD RTX 3080 10GB Corsair 4000D Airflow 1000W
- Steam, EA, Ubisoft és GoG játékkulcsok, illetve Game Pass kedvező áron, egyenesen a kiadóktól!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest