Ev Kişisel Finans 8 C ++ Yeni Sunulan Olmayan Özellikler - AYDINLATMALAR

8 C ++ Yeni Sunulan Olmayan Özellikler - AYDINLATMALAR

İçindekiler:

Video: Üniversite Okumadan Sizi Zengin Yapacak 5 Programlama (Yazılım) Dili 2025

Video: Üniversite Okumadan Sizi Zengin Yapacak 5 Programlama (Yazılım) Dili 2025
Anonim

C ++ dili, programcıların her birinin başında anlaşılamayacak kadar çok özellik içeriyor: Başkalarının gözünde onlara bakmak için ileride bakmak isteyebileceğiniz on özellik aşağıda belirtilmiştir. Neyse ki, büyük, gerçek dünya programları yazmak için dilin tüm özelliklerine hakim olmanız gerekmez. Aşağıda, başkalarının programlarında görmeniz ihtimaline karşı, öne bakmak isteyebileceğiniz on özellik bulunmaktadır.

C ++ goto komutu

Bu komut, C ++'nın öncüsü olan C'ye geri gider. İlke olarak, bu komutu kullanmak kolaydır. Goto etiketi yerleştirebilirsiniz; istediğin herhangi bir yer. C ++ bu komutla karşılaştığında, denetim şu kod parçasında gösterildiği gibi etikete geçer:

Bununla birlikte, goto, berelenmenin birçok yolunu sunuyor. Her durumda, programcıların goto'nun en yaygın iki kullanımının döngülerden çıkıp bir döngü içindeki bir sonraki döneme gitmek olduğunu fark etmeleri çok uzun sürmedi. C Standards Committee, mola verdi ve devam etti ve goto komutunun neredeyse tamamen kaldırıldı.

C ++ üçlü operatör

üçlü operatör , C ve C ++ 'ye özgü bir operatöre aittir. Şöyle çalışır: int n = (koşullu)? expression1: ifade2;

? operatör ilk koşullu değerlendirir. Koşul doğruysa, ifadenin değeri ifade1'in değerine eşittir; Aksi takdirde, expression2 değerine eşittir.

Örneğin, maximum () işlevini aşağıdaki gibi uygulayabilirsiniz:

int max (int n1, int n2) {return (n1> n2)? n1: n2;}
Üçlü operatör, herhangi bir sayı türüne uygulanabilir, ancak aşırı yüklenemez. Üçlü operatör gerçekten bir ifade - bir if gibi bir kontrol ifadesi değil.

C ++ 'da numaralandırılmış türler Basit fikir, burada gösterildiği gibi sabitleri tanımlayabilir ve C ++ tarafından değer atamanıza izin verirsiniz:

enum Renkler {BLACK, BLUE, GREEN, SARI, RED}; Renkler myColor = SİYAH;

Numaralandırılmış türlerle ilgili sorun uygulanmasında yatar: Doğru bir tür oluşturmak yerine, C ++ tam sayıları kullanır. Bu durumda, SİYAH'a 0 değeri, BLUE'ya 1, YEŞİL2 ve benzeri atanır.


C ++ için 2011 Standart Kitaplığı, aşağıdaki pasajda gösterildiği gibi numaralandırılmış bir sınıf türü oluşturarak bu sorunu "sabitledi":

enum sınıfı Renkler {BLACK, BLUE, GREEN, SARI, RED}; Renkler myColor = Renkler:: BLACK;

Bu sürümde, Renkler yeni bir türe ait.KARIŞIMLARIN SİYAH, MAVİ ve benzeri sabitlerin her biri Renkli üyelerdir. Sınıf renklerinin bir nesnesini bir int içine atabilirsiniz, ancak örtülü bir yayın yapılamaz.

C ++ namespaces

Aynı adlı iki farklı kütüphanede farklı nesneler vermek mümkündür. Örneğin, Öğrenci kütüphanesi içerisindeki grade () işlevi büyük olasılıkla bir not atar; buna karşılık Civil Engineering üniversitelerindeki grade () işlevi, eğimi bir tepenin kenarında ayarlayabilir. Bu sorundan kaçınmak için C ++, programcının kodunu ayrı bir ad alanına yerleştirmesine izin verir. Dolayısıyla Öğrenci ad alanındaki not Civil Mühendisliğindeki nottan farklıdır.

Ad alanı sınıf adının üstünde ve altında. Civil Engineering alanındaki BullDozer sınıfının grade () üye işlevi genişletilmiş CivilEngineering:: BullDozer:: grade () adını taşır.

Tüm kitaplık nesneleri ve işlevleri std ad alanındadır. Program adının başındaki ifadede şablon ad alanı std; varsayılan ad alanında belirtilen nesneyi görmezseniz, o zaman std'ye bakmanız gerektiğini söylüyor.

C ++'da saf sanal işlevler

Sanal olarak bildirilen bir işlev tanımlamak zorunda değilsiniz. Böyle bir tanımlanmamış fonksiyon,

saf sanal üye fonksiyonu

olarak bilinir. Ancak bu noktada işler karmaşıklaşıyor. Örneğin, bir veya daha fazla saf sanal işlevleri olan bir sınıfın soyut olduğu söylenir ve bir nesne oluşturmak için kullanılamaz. Sanal işlevlerle ve geç bağlama konusunda rahat hissettikten sonra bu konuyla başa çıkın. C ++ dize sınıfı Çoğu dilde, karakter dizelerini kolayca işlemek için intrinsik bir tür olarak bir dize sınıfı bulunur. Teorik olarak, dize sınıfı C ++ için aynı şeyi yapmalıdır. Ancak uygulamada bu kadar basit değil. Dize intrinsik bir tür olmadığından, bir şey ters gittiğinde derleyicinin oluşturduğu hata iletileri, kullanıcı tanımlı sınıflarla ilişkili olanlara benzer. Yeni başlayanlar için bu mesajların yorumlanması çok zor olabilir.

dize bir sınıf bile değil. Bu bir şablon sınıfının bir örneğidir. Hata mesajları nefes kesici olabilir.

C ++'da birden çok devralma

Bir sınıf aslında birden fazla taban sınıfını genişletebilir. Bu basit gelebilir ancak iki taban sınıfı aynı ada sahip üyelik işlevleri içerdiğinde oldukça karmaşık hale gelebilir. Daha da kötüsü, her iki taban sınıfı da kendilerinin ortak sınıfın alt sınıfları olduğunda.

Aslında, C ++ 'ın çoklu kalıtım destekleyen tek C benzeri dil olması birçok sorunun ortaya çıkmasına neden olur. Java ve C #, her iki dil de C ++ 'dan türetilmiş, çok kalıtım desteğini bırakmaya karar verdiler.

C ++ şablonları ve Standart Şablon Kütüphanesi

C ++ üreticileri, aşağıdakine benzer benzer işlevlerin farkına vardı:

int max (int n1, int n2) {if (n1> n2) {return n1;} dönüş n2;} char max (char n1, char n2) {if (n1> n2) {döndür n1;} döndür n2;} çift maks (çift n1, çift n2) {if (n1> n2) Biri başkasına, "derleme zamanında tanımlayabildiğiniz sahte türde bir T ile türünü değiştirebilirseniz, serin olmaz mıydı" yazıyor: "n2; return n2;}

"Bunu bilmeden önce presto - şablonlar C ++ 'un bir parçası olur:

şablon T max (T 1> t 2) {if t1> t2;}

Şimdi programcı T'yi int ile değiştirip sonucu derleyerek bir max (int, int) oluşturun, T'yi double ile değiştirerek bir max (double, double) oluşturun vb. Standartlar Komitesi bile şablon sınıflarına dayanan Standart Şablon Kütüphanesi (kısaca STL) olarak bilinen bütün bir sınıf kütüphanesini yayımladı.

Bununla birlikte, yeni başlayanlar için, şablon sınıflarının konusu sözdizimsel olarak çok karmaşıklaşmaya başlar. Buna ek olarak, yanlış bir şablon örneği aldığınızda derleyicinin ürettiği hatalar, yeni başlayanlara aldırmayın, bir uzmana şaşırtıcı gelir. Bu kesinlikle, temel dilde rahat hissetene kadar beklemesi gereken bir konudur.
8 C ++ Yeni Sunulan Olmayan Özellikler - AYDINLATMALAR

Editörün Seçimi

Genişletme Bağlantılar ve Bina Robotları için Pinouts - mankenler

Genişletme Bağlantılar ve Bina Robotları için Pinouts - mankenler

Eğer bir robot inşa ediyorsanız, çok sayıda elektrik bağlantısı, bu yüzden çok sayıda iğne ile uğraşıyorsunuz. Aşağıdaki tabloda, genişleme konektörleri ve pim numaraları için sinyal gösterilmektedir. İstenmeyen çapraz bağlantıları önlemeye yardımcı olabilir. Genişletme Konnektörü Pin Numarası Sinyal Genleşmesi Konnektör Pin Numarası Sinyal 1, 2 Toprak 16 P11 Yeşil LED 3, 4 + 5 ...

Dizinler içeren Kablosuz Erişim Noktalarını bulma - mankenler

Dizinler içeren Kablosuz Erişim Noktalarını bulma - mankenler

Sıcak noktaları bulma konusunda çevrimiçi dizinler, gezinmek için mükemmel bir araçtır. ABD, Kanada ve dünyadaki artan sayıda sıcak nokta. Size kolaylık sağlamak için, bu dizinlerden bazıları. Dizin Notları JiWire WiFi Bulucu 144 ülkede ücretsiz ve ücretli Wi-Fi yerleri dizini sağlar. AT & T ...

Ham Radyoda genel Sınıf Frekans Ayrıcalıkları - mankenler

Ham Radyoda genel Sınıf Frekans Ayrıcalıkları - mankenler

Yakında yapmadıysanız, siz Yükseltmeyi düşünüyorum. Aşağıdaki tabloda gösterildiği gibi, yüksek frekanslı (HF) bantlarda kullanmak için daha fazla frekansa sahipsiniz. Tüm lisans sınıfları için ABD frekansı ve mod ayrıcalıklarının eksiksiz bir listesi, Amerikan Radyo Röle Ligi'nden (ARRL) edinilebilir. Bant Frekansları ...

Editörün Seçimi

Adobe Flash CS6'da Maske Katmanlarını Kullanma - mankenler

Adobe Flash CS6'da Maske Katmanlarını Kullanma - mankenler

Adobe Flash CS6'da maskeleme kavramı Bir parçanın bölümlerini gizlemek ya da ortaya çıkarmak için bir şekli (ya da şekilleri) kullanır - tıpkı evinizdeki küçük bir pencere aracılığıyla dışarıdan bakmak gibi. Pencere boyutu, içerideyken görebileceğiniz şeyi sınırlar. Flash, özel bir katman özelliklerine sahiptir ...

Flash CS5 3D Rotasyon Aletinin Kullanımı - mankenler

Flash CS5 3D Rotasyon Aletinin Kullanımı - mankenler

Adobe'nin kapsamlı çizim ve animasyon yetenekleri Flash Creative Suite 5, Flash'ın 3D Döndürme aracıyla büyük ölçüde geliştirilebilir. 3B Döndürme aracı, sembolü x, y ve z eksenleri etrafında döndürmek ve dönüştürmek için herhangi bir film klibi örneğinde kullanılabilir. Bir film klibi örneğini 3D olarak oluşturmak için bunları izleyin ...

Flash CS5 3D Çeviri Aletini Kullanma - aumlalar

Flash CS5 3D Çeviri Aletini Kullanma - aumlalar

In 3D Döndürme aracının aksine Flash CS5 film kliplerini bir eksen etrafında döndüren Adobe Flash Creative Suite 5, 3D Çeviri aracı, bir film klibini algılanan mesafeyi ve sahnedeki diğer nesnelere göre derinliğini değiştirmek için belirli bir eksende kaydırır. Bu kavramı üçlü düşünün ...

Editörün Seçimi

Pratik İlköğretim Sınavı-Grafik Çözümleri - mankenler

Pratik İlköğretim Sınavı-Grafik Çözümleri - mankenler

Praxis İlköğretim sınavının Matematik bölümü bir dizi çizgide bir eşitsizliğe çözüm bulmanızı gerektiren bir soru. Başlamak için, çözümdeki sayıya bir nokta koyarsınız. Sembolü> veya

Pratik İlk Öğretim Sınavı-Ölüm Şekilleri - mankenler

Pratik İlk Öğretim Sınavı-Ölüm Şekilleri - mankenler

Praxis İlköğretim Matematik ve Bilim bölümleri Eğitim sınavı, farklı ölçme şekillerine aşina olmanız gereken sorular içerir. Ölçümler, çeşitli tiplerde tanımlanabilir. Mesafe için İngilizce sistem birimleri inç, feet, metre ve mil içerir. Bunlar birbirine dayanır. Bir ayak 12 ...

Pratik İlk Öğretim Sınavı-Akıcılık - mankenler

Pratik İlk Öğretim Sınavı-Akıcılık - mankenler

Praxis İlköğretim sınavı, yardımcı stratejilerinizi test eden sorular içerir öğrenciler akıcılıklarını İngilizce olarak geliştirirler. Bu stratejiler, grafik düzenleyicileri kullanarak ve çıkarımlar yapmayı içerebilir. Akıcı bir okuyucu, sınıf düzeyinde bir metni doğruluk, çabukluk ve ifade ile okuyabilir.