C++-koodi Objective-C Macintosh-sovelluksissa

Objective-C tarjoaa oliopohjaisia ​​ominaisuuksia Macintosh-sovelluskehitykseen, kuten periytymisen ja polymorfismin. Kieli perustuu C-ohjelmointikieleen; siksi voit käyttää C-ohjelmointitietoasi koodataksesi Objective-C:n sisällä. Objective-C++ on siltamekanismi, jonka avulla Objective-C-lähdemoduulit voivat työskennellä Objective-C++-luokkien kanssa, joita voidaan kääntää ja linkittää C++-koodikirjastoihin.

Seuraava yksinkertainen esimerkki neliömatriisista näyttää Matrix-luokan C++-otsikkotiedoston sisällön. Matrix-luokan mukana tulee C++-luokan vakiokonstruktori ja -destruktori, ja menetelmät ovat mitä voit odottaa perusnelimatriisiobjektilta:

class Matriisi { public: Matrix( int inSize ); virtuaalinen ~Matrix(); int getSize( void); int getDeterminant( void ); void setElement( int inRow, int inCol, int inValue ); int getElement( int inRow, int inCol ); Matriisioperaattori+( const Matriisi& inAddend ); yksityinen: int m_size; int[][] m_elements; };

Objective-C++:n käyttäminen edellyttää Objective-C++-luokan moduulien tiedostotunnistetta .mm. Tämä kertoo Xcoden kääntäjälle, että luokka tulee kääntää Objective-C++:lla, jolloin luokkasi voi käyttää C++-kielen avainsanoja. Objective-C++:lla sovelluksesi voi luoda Matrix-objektin suorittamaan perustoimintoja, kuten lisäämään kaksi Matrix-objektia yhteen. Tämä olettaa, että Objective-C++-lähdemoduuli on #tuonnut C++ Matrix.h -tiedoston:

- (void)addTwoMatrices { Matrix matrixOne( 3 ); // 3x3 matriisi MatriisimatriisiTwo( 3 ); // toinen int rowIndex = 0; int colIndex = 0; for (rowIndex=0; rowIndex<3; ++rowIndex) { for (colIndex=0; colIndex<3; ++colIndex) { // aseta matriisin yksi elementit arvoihinsa matrixOne.setElement( rowIndex, colIndex, XXX ); // asettaa matriisin kaksi elementit joihinkin muihin arvoihin matrixTwo.setElement( rowIndex, colIndex, YYY ); } } MatriisimatriisiSum = matriisiYksi + matriisiKaksi;

Objective-C++:n avulla sovelluksesi voivat hyödyntää kaikkia saatavilla olevia kolmannen osapuolen kirjastoja, jotka on kirjoitettu C++:lle.


Snagit 2018 Review Mitä uutta version 13 jälkeen

Snagit 2018 Review Mitä uutta version 13 jälkeen

TechSmith Snagit on suosikki kuvakaappaus- ja kuvankäsittelyohjelmistomme. Tutustu Snagit 2018:n uusiin ominaisuuksiin!

8 Online-työkalua kaavioiden ja vuokaavioiden piirtämiseen

8 Online-työkalua kaavioiden ja vuokaavioiden piirtämiseen

Haluatko luoda kaavioita tai vuokaavioita etkä halua asentaa ylimääräisiä ohjelmistoja? Tässä on luettelo online-kaavion työkaluista.

Spotify ei voi toistaa nykyistä kappaletta? Kuinka korjata

Spotify ei voi toistaa nykyistä kappaletta? Kuinka korjata

Talo täynnä langattomasti yhdistettyjä laitteita ja suoratoistopalveluita, kuten Spotify, on hienoa, kunnes asiat eivät toimi ja löydät mielenkiintoisia ratkaisuja.

Mikä on NVMe M.2 SSD ja kuinka nopea se on?

Mikä on NVMe M.2 SSD ja kuinka nopea se on?

NVMe M.2 SSD on uusin tietokoneen kiintolevyteknologia. Mikä se on ja kuinka nopea se on verrattuna vanhoihin kiintolevyihin ja SSD-levyihin?

Sonos vs. AirPlay: Miksi valitsin AirPlayn Whole House Audiolle

Sonos vs. AirPlay: Miksi valitsin AirPlayn Whole House Audiolle

Sonos on juuri toimiva äänentoistoratkaisu alkaen 400 dollarista kahdelle kaiuttimelle. Mutta oikealla asetuksella AirPlay voi olla ilmaista. Tarkastellaan yksityiskohtia.

Google Backup and Sync -sovellus korvaa valokuvat ja Driven

Google Backup and Sync -sovellus korvaa valokuvat ja Driven

Google Backup and Sync on uusi sovellus, joka synkronoidaan Kuviin ja Driveen. Lue eteenpäin nähdäksesi, kuinka se kohtaa OneDriven, Dropboxin, Backblazen ja Crashplanin.

Johdon katkaisu: MyIPTV:n tarkistus SOPlayerin kanssa

Johdon katkaisu: MyIPTV:n tarkistus SOPlayerin kanssa

MyIPTV on kaapelin katkaisupalvelu, joka käyttää SOPlayer-sovellusta useille alustoille ja tarjoaa televisiota, elokuvia ja muita mediamuotoja maksulliseen

Logitechin valaistu olohuoneen näppäimistö K830

Logitechin valaistu olohuoneen näppäimistö K830

Logitech julkaisi äskettäin valaistun olohuoneen näppäimistönsä K830:n, joka on tarkoitettu kodin viihdekumppaniksi. Tässä arviomme yksiköstä.

CloudHQ päivitetty: Nopeampi synkronointi, muokkaa Dropbox-tiedostoja Google-dokumenteista

CloudHQ päivitetty: Nopeampi synkronointi, muokkaa Dropbox-tiedostoja Google-dokumenteista

Tässä on katsaus CloudHQ:lle hiljattain julkaistuun päivitykseen ja sen toimintaan. Lue lisää saadaksesi lisätietoja.

Mikä on OnePlus 6T Android -puhelin?

Mikä on OnePlus 6T Android -puhelin?

OnePlus 6T on huippuluokan lippulaivalaatuinen Android-puhelin, joka myydään alennettuun hintaan verrattuna Apple iPhoneen, Google Pixel 3:een tai Samsung Galaxy S9:ään.