«struct» etiketlenmiş sorular

Sözdizimi C'ye (C ++, C #, Swift, Go, Rust, vb.) Benzer veya türetilmiş çeşitli programlama dillerindeki bir anahtar sözcük. Sözdizimi olarak bir "yapı" kullanımını içeren soruları etiketlemek için belirli bir programlama dili etiketi kullanın ve anlambilim dile bağlı olabilir. Anahtar kelime, diğer veri türlerinden oluşan bir veri türünü tanımlar veya bildirir. Bir yapının her üyesi kendi bellek alanına sahiptir (üyeleri tek bir bellek alanını paylaşan bir “sendika” nın aksine).


12
C ++ Tuple ve Struct
A std::tupleve yalnızca veri kullanmak arasında herhangi bir fark var mı struct? typedef std::tuple<int, double, bool> foo_t; struct bar_t { int id; double value; bool dirty; } Çevrimiçi bulduğuma göre, iki büyük fark olduğunu buldum: structdaha okunaklıyken tuplekullanılabilecek birçok genel işleve sahip. Önemli bir performans farkı olmalı mı? Ayrıca, veri …
96 c++  struct  tuples 

10
Yapılar ve sınıflar
Kodda 100.000 nesne oluşturmak üzereyim. Sadece 2 veya 3 mülkle küçük olanlardır. Onları genel bir listeye koyacağım ve olduklarında, onları döngüye sokup değeri kontrol aedip belki değeri güncelleyeceğim b. Bu nesneleri sınıf olarak mı yoksa yapı olarak mı oluşturmak daha hızlı / daha iyi? DÜZENLE a. Özellikler değer türleridir (düşündüğüm …
95 c#  struct 

9
Yapıların arayüzleri uygulaması güvenli midir?
Yapılar için CLR'de arayüzleri C # aracılığıyla uygulamasının ne kadar kötü olduğu hakkında bir şeyler okuduğumu hatırlıyorum, ancak bu konuda hiçbir şey bulamıyorum. Kötü bir şey mi? Bunu yapmanın istenmeyen sonuçları var mı? public interface Foo { Bar GetBar(); } public struct Fubar : Foo { public Bar GetBar() { …
94 c#  interface  struct 

2
C ++ struct işlevi
Genellikle bir C ++ yapısı için bir değişken tanımlayabiliriz. struct foo { int bar; }; Bir yapı için fonksiyonlar da tanımlayabilir miyiz? Bu işlevleri nasıl kullanırız?
93 c++  function  struct 

6
C ++ neden anonim yapılara izin vermiyor?
Bazı C ++ derleyicileri, anonim birleşimlere ve yapılara standart C ++ 'nın bir uzantısı olarak izin verir. Bazen çok yardımcı olan biraz sözdizimsel şekerdir. Bunun standardın bir parçası olmasını engelleyen mantık nedir? Teknik bir engel var mı? Felsefi mi? Yoksa haklı göstermeye yetecek kadar mı yok? İşte bahsettiğim şeyin bir …
93 c++  struct  unions 

9
Yapıyı sıfır / null olarak başlat / sıfırla
struct x { char a[10]; char b[20]; int i; char *c; char *d[10]; }; Bu yapıyı dolduruyorum ve sonra değerleri kullanıyorum. Bir sonraki yinelemede, tüm alanları yeniden kullanmaya başlamadan önce 0veya nullönce sıfırlamak istiyorum . Bunu nasıl yapabilirim? Kullanabilir miyim memsetyoksa tüm üyelerin üzerinden geçip sonra bireysel olarak mı yapmalıyım?

6
Kullanılmayan bir üye değişkeni hafızayı alır mı?
Bir üye değişkeni başlatmak ve onu referans göstermemek / kullanmamak, çalışma zamanı sırasında RAM alır mı, yoksa derleyici bu değişkeni yok sayar mı? struct Foo { int var1; int var2; Foo() { var1 = 5; std::cout << var1; } }; Yukarıdaki örnekte, 'var1' üyesi daha sonra konsolda görüntülenen bir değer …
92 c++  memory  struct 

5
Neden bu yapı boyutu 2 yerine 3?
Bu yapıyı tanımladım: typedef struct { char A:3; char B:3; char C:3; char D:3; char E:3; } col; sizeof(col)Bana 3 çıkışını vermek, ama bu 2 olmamalı? Sadece bir öğeyi yorumlarsam, sizeof2'dir. Nedenini anlamıyorum: 3 bitlik beş öğe 15 bite eşittir ve bu 2 bayttan azdır. Bunun gibi bir yapıyı tanımlarken …
91 c++  c  struct 

11
NSArray'e bir c-struct yerleştirmenin en iyi yolu nedir?
C yapılarını depolamanın genel yolu nedir NSArray? Avantajlar, dezavantajlar, bellek kullanımı? Özellikle, justin ve aşağıdaki yayın balığı tarafından yetiştirilen valueWithBytesve arasındaki fark nedir valueWithPointer? İşte Apple'ın valueWithBytes:objCType:gelecekteki okuyucular için tartışmasına bir bağlantı ... Bazı yanal düşünme ve daha performans bakarak için Evgen kullanarak konusu gündeme getiriliyor STL::vectoriçinde C ++ . …



5
Neden C ve C ++ yapılar içindeki dizilerin üyeler tarafından atanmasını destekler, ancak genel olarak desteklemez?
Üyelerin dizi atamasının desteklenmediğini anlıyorum, bu nedenle aşağıdakiler çalışmayacaktır: int num1[3] = {1,2,3}; int num2[3]; num2 = num1; // "error: invalid array assignment" Dilin amacının açık uçlu bir çerçeve sağlamak olduğunu düşünerek bunu gerçek olarak kabul ettim ve kullanıcının bir dizinin kopyalanması gibi bir şeyi nasıl uygulayacağına karar vermesine izin …

3
C'de yapısal bellek düzeni
C # geçmişim var. C gibi düşük seviyeli bir dil için çok acemiyim. C # struct'da , belleği varsayılan olarak derleyici tarafından düzenlenir. Derleyici, veri alanlarını yeniden sıralayabilir veya alanlar arasında örtük olarak ek bitler doldurabilir. Bu nedenle, tam düzen için bu davranışı geçersiz kılmak için bazı özel nitelikler belirtmem …

6
C - yapı içinde işlev
Bir yapının içinde bir işlev oluşturmaya çalışıyorum, şu ana kadar bu koda sahibim: typedef struct client_t client_t, *pno; struct client_t { pid_t pid; char password[TAM_MAX]; // -> 50 chars pno next; pno AddClient() { /* code */ } }; int main() { client_t client; //code .. client.AddClient(); } Hata : …
86 c  function  struct 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.