Hozzászólások
-
SzerzőBejegyzés
-
Az elemben és nem konténerben tárolt kereső függvénnyel szintén van egy gond.Ha a konténerben van a kereső algoritmus akkor hozzáfér az elemekhez:
konténer {elemek_listájaelem keresés () {this->elemek_listája}}
Amíg, ha elemben van, akkor csak paraméter átadással lehetséges ez:
elem keresés (elemek_listája) {}
Ez utóbbi persze teljesen jó (csak hát van egy praktikusabb lehetőség a C++/Java stb-ben a sima C-hez képest).Ráadásul maga a függvény futása szállbiztos, mert saját stack területe van. (Az adatátadásról - mivel valószínűleg csak címről van szó - ez nem mondható el, de nem is biztos, hogy kell.)
„Minden objektumot létre kell hozni egyszer.”De nem mindegy, hogy hogy, meg hol.A normál változó függvényenként jön létre (saját stack területén), amíg a statikus a függvényen kívül (az adatszegmensben).
objektum {valami: (deklaráció helye)valami <= akármi (tartalom beírása)}
Így a new-val létrehozott minden objektumnak saját valami területe van.
objektum#1 {akármi:}objektum#2 {akármi:}
Mivel minden objektumnek saját valamije van, ezért természetesen az akármiből elérhető az objektum minden tagja.
objektum {statikus_valami <= akármi (a tartalom beírása - természetesen marad a függvényben)}statikus_valami: (deklaráció helye a függvényen kívül)
Így a new-val létrehozott objektum mindegyikének egy azonos statikus_valami-je van.
objektum#1 {}objektum#2 {}statikus_akármi:
Az objektumoknak egy statikus_valamije van csak így fizikailag lehetetlen hivatkozni az objektum tagjaira. Kivéve persze azt az esetet, amikor magában a statikus_valamiben tároljuk valamely objektum címét. Persze ebben az esetben is csak arra az egy objektumra lehet hivatkozni.Remélem így már érthető a statikus és a normál deklaráció közötti különbség.
Persze, hogy nem működik, mert amit mondtam, az egy futtatható script fájl, amíg a desktop fájl egy parancsikon, aminek saját formátuma van.Ha a script fájl futtatható flaggel rendelkezik és rákattintasz, akkor elindul.A menüszerkesztővel létre tudsz hozni a menüben egy ilyen parancsikont, ahol a név/leírás/megjegyzés/ikon stb. tetszőleges a parancs pedig az a script fájl (pl. /usr/local/bin/qBittorrent.sh) amiben az a néhány sor van.(A %U pedig url lista... milyen url lista az, ha csak magában - paraméter nélkül - futtatod? Ezért írja ki, hogy nem létezik a "semmi" torrent fájl.)Persze kézzel is lehet ilyet csinálni, csak egy kicsit bonyolultabb itt egy példa:
Name=Adobe Reader 9MimeType=application/pdf;application/vnd.fdf;application/vnd.adobe.pdx;application/vnd.adobe.xdp+xml;application/vnd.adobe.xfdf;Exec=acroread %UType=ApplicationGenericName=PDF ViewerTerminal=falseIcon=AdobeReader9Caption=PDF ViewerX-KDE-StartupNotify=falseCategories=Application;Office;Viewer;X-Red-Hat-Base;InitialPreference=9
A kiemelt sor a lényeg, oda pl. ezt kell beírni: "Exec=/usr/local/bin/qBittorrent.sh", a qBittorrent.sh-ba pedig azt a néhány sort. (De egyszerűbb a menüszerkesztővel, az létre fogja hozni a parancsikont.)
Mondjuk pl. csinálsz egy ilyen tartalmú fájlt (a 3 perces késleltetéshez):
Code:#!/bin/bashsleep 3ma_program_elérése_amit_indítani_akarszés azt másolod az autostartba.
2013-08-31-17:58 Hozzászólás: Oracle VM VirtualBox alatt Red Hat Linux 7.3 pen-drive csatolás #2207531Ehhez pl. minek statikusan deklarálni?
Code:class ActiveRecord {public String findByPK(long id) {return "I'm ActiveRecord"}}class User extends ActiveRecord {public String findByPK(long id) {return "I'm the little child of ActiveRecord"}}Így mindig az a függvény hívódik meg, ami kell. És nem csak azt tudja, hogy milyen "osztályban van", de személyesen az objektum címét is tudja (this).
Nem, nem kell hogy az osztályhoz kapcsolódjon, amint az előbb szemléltettett példa mitatja.. Habár a java eléggé osztályorientált.Amúgy hogy tudná "magáról", amikor ismétlem pont az a lényege, hogy a statikus adat egyszer, azaz egyszer deklarálódik és így ugyanaz minden objektumban. Tehát eleve nem tudhatja megáról, kivéve, ha pl., amint szemléltettem egy objektum címét írod be a statikus területre. Persze ezzel, mint korábban mondtam az a baj, hogy a statikus címterület ugyanaz, azaz egy másik felülírja egy másik adattal, ami nem szálbiztos. (Sőt ebben az esetben egy szál esetén sem biztos a kimenete, ha nincs elmentve az eredeti adat.)Ha pedig egy osztály (szülő-gyerek/objektum cím) szerint változó mechanizmust szeretnél, azt nem értem, hogy miért statikusan "kell" deklarálni, amikor a statikusság arra alkalmatlan a másikat meg pont arra találták ki.
Code:class Parent {/* akár így is: String name; */String myName { return "Parent";Naná, hogy nem képes semmi „dinamikusat” csinálni, mivel pont az a lényege, hogy statikus, azaz minden körülmények között azonos.Persze még, ha mondjuk egy olyan bármilyen nyakatekert hülyeséget is megengedő nyelvről lenne szó, mint a C++, akkor egy általános statikus memóriaterületre le lehetne menteni egy dinamikusan létrehozott objektum címét és elvileg egy típusazonosítót is, hogy a típusazonosító használatával lehessen futtatni valamit:
Code:static void *pointer;static int type;class Class { public: Class() { pointer = this; type = 1; } void func() { printf("hello world"); }};void call_func() { if ( type == 1 ) { static_cast(pointer)->func(); }}int main() { Class(); call_func(); return 0;}Persze, ha erre gondolsz. Kérdés, hogy ennek van-e valamilyen értelme... azon kívül, hogy meg lehet csinálni.
Hogy a kérdésre válaszoljak valami skype bugzás lehet, mert pl. Windows esetében is van ilyen.Amennyiben a probléma megoldása érdekel, ezt próbáld meg, amennyiben létezik:[bash]LD_PRELOAD=/opt/lib32/usr/lib/libv4l/v4l1compat.so skype[/bash]Vagy a programmal kell megfordítani a képet.Amúgy minden eshetőségre kipróbálnám mit csinál egy mplayer, vlc, vagy más a kamera képével.
Hát, ha nem tartod a memóriában, akkor a fájlban kell keresni.Akkor ez esetben, ha gyorsan akarnék keresni, akkor tuti ABC sorrendben raknám a kulcsokat és rendelnék hozzájuk egy számot.Ebben az esetben nem kell mind a 10e-ret végigböngészni, sőt elvileg indexálni is lehet őket (és akkor azt lehet tömbben is tartani), de nem feltétlenül kell.Akkor a fájl tartalmaNKey, FirstData, Key1, Idx1, Key2, Idx2, .... adatokvagyNkey, FixSizeKey1, ...Ha a kulcsok mérete nem limitált, akkor meg kell határozni az első adathelyet, hogy tudjál pozícionálni (vagy külön adatfájlt kell létrehozni), ha fix méretű, akkor az fájlpocséklás, de egyszerűbb a kezelés és nincs szükség első byte-ra.Ezután addig kell keresni a kulcsokban, amig előbb van az ABC-ben, nem kell végigkeresni, ha nincs meg egy kulcs, ez a legtöbb esetben gyorsítana.Most az a kérdés, hogy egy kulcshoz tömb, vagy egy érték tartozik, ill, ha tömb akkor változó-e a hossza. Mert akkor derül ki, hogy egy beillesztést mennyire lehet optimalizálni.
-
SzerzőBejegyzés
legutóbbi hsz