unions

    3熱度

    2回答

    我創建了一個使用聯盟作爲其字段的結構。這裏是一個小的代碼示例: #include <iostream> #include <string> enum Type { STR, INT }; struct MyStruct { Type type; union Value { std::string str; i

    1熱度

    1回答

    我想在C++文件中編譯下面的標記聯合,並且遇到問題。有人可以解釋我缺少什麼,或者我必須改變以使下面的工作?我曾嘗試網上找這件事,不幸已經變得無處... #include <string> using std::string; #include <iostream> using std::cout; using std::endl; #include <new> const int T

    -3熱度

    2回答

    是否可以聲明一個聯合體數組? 如果是,它與普通的結構數組有什麼不同?

    0熱度

    2回答

    我有一種感覺,這個問題的答案是否定的,但是是否可以初始化某個工會的特定成員?例如以下: #include <cassert> #include <Windows.h> int _tmain(int argc, _TCHAR* argv[]) { auto time = 20090520145024798ull; auto large = ULARGE_INTEGER(

    -2熱度

    1回答

    所以,我有一個聯盟: typedef union { int intVal; char charVal; bool boolVal; } myUnion_t; 而且我有一個函數,foo,(在同一文件中,因爲後者聯盟),這將返回myUnion_t 。 我當然可以這樣做: myUnion_t foo(int n){ myUnion_t rtn;

    0熱度

    1回答

    從C++入門(13.1.6): 編譯器不會讓我們 定義變量或創建一個具有刪除析構型的臨時工。 而且,我們無法定義具有成員 的類的變量或臨時對象,其類型具有已刪除的析構函數。如果某個成員具有刪除的析構函數,那麼該成員不能被銷燬。如果一個成員不能被銷燬,整個物體 不能被銷燬。 這certaintly似乎真: class B{ public: B() { } ~B() = del

    1熱度

    1回答

    我需要使用訪問結構內聯合的語法方面的幫助,如下所示。編譯器抱怨我需要必須命名下面的'innerStruct'定義,而不是具有匿名內部結構。有人可以請解釋規則,以及如何初始化構造函數字段並命名位域元素。我有一個live coliru demo來顯示代碼。 不幸的是,代碼不能編譯,因爲它表明了以下錯誤: g++ -std=c++14 -O2 -Wall -pedantic -pthread main.

    1熱度

    2回答

    我一個代碼擺弄像以下: union Data { int i; double x; std::string str; ~Data(){} }; union Data var = {.x = 31293.932}; std::cout << var.x << "\n"; std::cout << var.str << "\n"; std::cou

    9熱度

    1回答

    死簡單的節儉聯合示例。 ENV:最新的節儉,CPP作爲服務器,Java作爲客戶端 mytest.thrift: namespace java com.wilbeibi.thrift union Value { 1: i16 i16_v, 2: string str_v, } struct Box { 1: Value value; } service

    1熱度

    2回答

    假設我有一個工會的定義爲: typedef union{ double d; int i; } dtoi; 如果我想要一個雙轉換爲int,我有以下功能: int doubleToInt(double d){ dtoi dToI; dToI.d = d; return dToI.i; } 後來我還有一個功能轉換它回到雙倍: double