C++-kode i Objective-C Macintosh-applikasjoner

Objective-C gir objektorienterte funksjoner for Macintosh-applikasjonsutvikling, for eksempel arv og polymorfisme. Språket er basert på programmeringsspråket C; derfor kan du bruke C-programmeringskunnskapen din til å kode innenfor Objective-C. Objective-C++ er en bromekanisme som lar Objective-C-kildemoduler fungere med Objective-C++-klasser, som kan kompilere og koble til C++-kodebiblioteker.

Følgende enkle eksempel på en kvadratisk matrise viser innholdet i en C++-headerfil for en Matrix-klasse. Matrix-klassen kommer med standard konstruktør og destruktor for en C++-klasse, og metodene er det du kan forvente for et grunnleggende kvadratisk matriseobjekt:

klasse Matrix { public: Matrix( int inSize ); virtuell ~Matrix(); int getSize( void ); int getDeterminant( void ); void setElement( int inRow, int inCol, int inValue ); int getElement( int inRow, int inCol ); Matriseoperator+( const Matrix& inAdddend ); privat: int m_size; int[][] m_elements; };

For å bruke Objective-C++, må Objective-C++ klassemodulene bruke filtypen .mm. Dette forteller Xcodes kompilator at klassen skal kompileres ved hjelp av Objective-C++, som vil tillate klassen din å bruke C++-språknøkkelord. Ved å bruke Objective-C++ kan appen din lage et Matrix-objekt for å utføre grunnleggende operasjoner, for eksempel å legge til to Matrix-objekter. Dette forutsetter at Objective-C++-kildemodulen har #importert C++ Matrix.h-filen:

- (void)addToMatrices { Matrix matrixOne( 3 ); // 3x3 matrise Matrise matriseTo( 3 ); // annen int rowIndex = 0; int colIndex = 0; for (rowIndex=0; rowIndex<3; ++rowIndex) { for (colIndex=0; colIndex<3; ++colIndex) { // sett matrise ens elementer til deres verdier matrixOne.setElement( rowIndex, colIndex, XXX ); // sett matrise tos elementer til noen andre verdier matrixTwo.setElement( rowIndex, colIndex, YYY ); } } Matrise matriseSum = matriseEn + matriseTo;

Med Objective-C++ kan appene dine dra nytte av alle tilgjengelige tredjepartsbiblioteker skrevet for C++.


Snagit 2018 gjennomgang Hva er nytt siden versjon 13

Snagit 2018 gjennomgang Hva er nytt siden versjon 13

TechSmith Snagit er vår favorittprogramvare for skjermbilder og bilderedigering. Sjekk ut de nye funksjonene i Snagit 2018!

8 elektroniske verktøy for å tegne diagrammer og flytskjemaer

8 elektroniske verktøy for å tegne diagrammer og flytskjemaer

Trenger du å lage diagrammer eller flytskjemaer og ønsker ikke å installere ekstra programvare? Her er en liste over online diagramverktøy.

Kan ikke Spotify spille den gjeldende sangen? Hvordan fikse

Kan ikke Spotify spille den gjeldende sangen? Hvordan fikse

Å ha et hus fullt av trådløst tilkoblede enheter og strømmetjenester som Spotify er flott inntil ting ikke fungerer og du finner interessante løsninger.

Hva er en NVMe M.2 SSD og hvor rask er den?

Hva er en NVMe M.2 SSD og hvor rask er den?

NVMe M.2 SSD er det siste innen datamaskinharddiskteknologi. Hva er det og hvor raskt er det kontra eldre harddisker og Solid State Drives (SSD)?

Sonos vs. AirPlay: Hvorfor jeg valgte AirPlay for Whole House Audio

Sonos vs. AirPlay: Hvorfor jeg valgte AirPlay for Whole House Audio

Sonos er den beste streaming-lydløsningen som starter på $400 for to høyttalere. Men med riktig oppsett kan AirPlay være gratis. La oss se gjennom detaljene.

Google Backup and Sync App erstatter bilder og Disk

Google Backup and Sync App erstatter bilder og Disk

Google Backup and Sync er en ny app som synkroniserer til Bilder og Disk. Les videre for å se hvordan det står opp mot OneDrive, Dropbox, Backblaze og Crashplan.

Cord Cutting: Gjennomgang av MyIPTV med SOPlayer

Cord Cutting: Gjennomgang av MyIPTV med SOPlayer

MyIPTV er en kabelskjæringstjeneste som bruker SOPlayer-appen for flere plattformer og tilbyr TV, filmer og andre former for media for en betalt

Logitech Opplyst Living-Room Keyboard K830

Logitech Opplyst Living-Room Keyboard K830

Logitech ga nylig ut sitt Illuminated Living-Room Keyboard K830 som er ment som en hjemmeunderholdningskamerat. Her er vår anmeldelse av enheten.

CloudHQ Oppdatert: Raskere synkronisering, Rediger Dropbox-filer fra Google Docs

CloudHQ Oppdatert: Raskere synkronisering, Rediger Dropbox-filer fra Google Docs

Her er en titt på oppdateringen nylig utgitt til CloudHQ og hvordan den fungerer. Les videre for å finne mer.

Hva er OnePlus 6T Android-telefon?

Hva er OnePlus 6T Android-telefon?

OnePlus 6T er en førsteklasses flaggskipkvalitet Android-telefon som selges med rabatt sammenlignet med Apple iPhone, Google Pixel 3 eller Samsung Galaxy S9.