C++-kod i Objective-C Macintosh-program

Objective-C tillhandahåller objektorienterade funktioner för Macintosh-applikationsutveckling, såsom arv och polymorfism. Språket är baserat på programmeringsspråket C; därför kan du använda din C-programmeringskunskap för att koda inom Objective-C. Objective-C++ är en bryggmekanism som tillåter Objective-C-källmoduler att arbeta med Objective-C++-klasser, som kan kompilera och länka till C++-kodbibliotek.

Följande enkla exempel på en kvadratisk matris visar innehållet i en C++-huvudfil för en Matrix-klass. Matrix-klassen kommer med standardkonstruktorn och destruktorn för en C++-klass, och metoderna är vad du kan förvänta dig för ett grundläggande kvadratiskt matrisobjekt:

class 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 ); Matrisoperator+( const Matrix& inAdddend ); privat: int m_size; int[][] m_elements; };

För att använda Objective-C++ måste dina Objective-C++-klassmoduler använda filtillägget .mm. Detta talar om för Xcodes kompilator att klassen ska kompileras med Objective-C++, vilket gör att din klass kan använda C++-språknyckelord. Med Objective-C++ kan din app skapa ett Matrix-objekt för att utföra grundläggande operationer, som att lägga till två Matrix-objekt tillsammans. Detta förutsätter att källmodulen Objective-C++ har #importerat filen C++ Matrix.h:

- (void)addTwoMatrices { Matrix matrixOne( 3 ); // 3x3 matris Matrix matrixTwo( 3 ); // another int rowIndex = 0; int colIndex = 0; for (rowIndex=0; rowIndex<3; ++rowIndex) { for (colIndex=0; colIndex<3; ++colIndex) { // ställ in matris ens element till deras värden matrixOne.setElement( rowIndex, colIndex, XXX ); // ställ in matris tvås element till några andra värden matrixTwo.setElement( rowIndex, colIndex, YYY ); } } Matris matrisSumma = matrisEn + matrisTvå;

Med Objective-C++ kan dina appar dra fördel av alla tillgängliga tredjepartsbibliotek skrivna för C++.


Snagit 2018 Recension Vad är nytt sedan version 13

Snagit 2018 Recension Vad är nytt sedan version 13

TechSmith Snagit är vårt favoritprogram för skärmdumpar och bildredigering. Kolla in de nya funktionerna i Snagit 2018!

8 onlineverktyg för att rita diagram och flödesscheman

8 onlineverktyg för att rita diagram och flödesscheman

Behöver du skapa diagram eller flödesscheman och vill inte installera extra programvara? Här är en lista över diagramverktyg online.

Kan Spotify inte spela den aktuella låten? Hur man fixar

Kan Spotify inte spela den aktuella låten? Hur man fixar

Att ha ett hus fullt av trådlöst uppkopplade enheter och streamingtjänster som Spotify är fantastiskt tills saker och ting inte fungerar och du hittar intressanta lösningar.

Vad är en NVMe M.2 SSD och hur snabb är den?

Vad är en NVMe M.2 SSD och hur snabb är den?

NVMe M.2 SSD är det senaste inom datorhårddiskteknik. Vad är det och hur snabbt är det jämfört med äldre hårddiskar och Solid State Drives (SSD)?

Sonos vs AirPlay: Varför jag valde AirPlay för Whole House Audio

Sonos vs AirPlay: Varför jag valde AirPlay för Whole House Audio

Sonos är den bästa lösningen för strömmande ljud från 400 $ för två högtalare. Men med rätt inställning kan AirPlay vara gratis. Låt oss granska detaljerna.

Google Backup and Sync App ersätter foton och Drive

Google Backup and Sync App ersätter foton och Drive

Google Backup and Sync är en ny app som synkroniserar till Foton och Drive. Läs vidare för att se hur det går mot OneDrive, Dropbox, Backblaze och Crashplan.

Cord Cutting: Recension av MyIPTV med SOPlayer

Cord Cutting: Recension av MyIPTV med SOPlayer

MyIPTV är en kabelklippningstjänst som använder SOPlayer-appen för flera plattformar och tillhandahåller tv, filmer och andra former av media för en betald

Logitech Upplyst Living-Room Keyboard K830

Logitech Upplyst Living-Room Keyboard K830

Logitech släppte nyligen sitt Illuminated Living-Room Keyboard K830 som är tänkt som en följeslagare för hemunderhållning. Här är vår recension av enheten.

CloudHQ uppdaterad: Snabbare synkronisering, redigera Dropbox-filer från Google Docs

CloudHQ uppdaterad: Snabbare synkronisering, redigera Dropbox-filer från Google Docs

Här är en titt på uppdateringen som nyligen släppts till CloudHQ och hur den fungerar. Läs vidare för att hitta mer.

Vad är OnePlus 6T Android-telefon?

Vad är OnePlus 6T Android-telefon?

OnePlus 6T är en Android-telefon av högsta kvalitet som säljs till rabatterat pris jämfört med Apple iPhone, Google Pixel 3 eller Samsung Galaxy S9.