const

    1熱度

    1回答

    我想實現自己的教育字符串實現。對於我定義了一個名爲字符串結構如下: struct string { const char *const data; const int length; }; 我使用函數來創建這些字符串結構,然後我將其分配給變量。 爲了覆蓋const int length我用下面的訣竅: *(int *) &result.length = // a int

    0熱度

    1回答

    我完全不明白這一點。我只知道這一點;如果我不這樣寫的話 void samplefunctionname(const randomclass &classmember) { //code goes here... } 該函數會將班級成員中的每個信息複製到自己。所以這對記憶不好。也許我只想編寫由我選擇的班成員變量,但如果我不寫const和&它只會寫所有的信息。 但是這些人究竟在幹什麼?

    1熱度

    1回答

    爲什麼是constexpr部分?我認爲這就像內聯。 中f的實際類型是什麼? 這工作: void f() { auto f = []() { return 42; }; auto p = f; static_assert(std::is_same_v<decltype(f), decltype(p)>); } 但這並不: void g() { co

    2熱度

    2回答

    目前我想知道如何正確使用std::unique_ptr作爲const正確性的成員變量。 下面的例子允許改變由my_foo所擁有的內容,儘管正在常量: #include <iostream> #include <memory> struct foo { foo() : value_ptr_(std::make_unique<int>(3)) {} void incremen

    0熱度

    1回答

    因此,該函數的目標是向1和所提供的整數(含)之間的數組添加奇數。這似乎是一個簡單的任務,但是,我似乎無法讓它成功地將整數添加到實際的數組。 void populate(std::vector<int> ary, int a) { for (int i = 1; i <= a; i++) { if (i % 2 != 0) { ary.p

    1熱度

    1回答

    我試圖超載時遇到問題operator float()和operator float() const。我認爲我可以使用兩種重載爲「做事情」和「只讀」提供不同的版本......但事實證明,使用包含這些重載的類的靜態實例我不能。 歸結問題幾乎減少到這一點: // Does some math and should convert to float struct ToFloat { // f

    2熱度

    1回答

    在Java中,我們可以這樣做: public class TestA { public static final boolean flag = true; public static final String str = flag ? "A" : "B"; // ok } ,但不能在科特林 class TestA { companion object {

    0熱度

    3回答

    看來在函數中傳遞的參數不能保持它們的const屬性。 假設我需要使用函數內參數的信息來初始化const變量,然後創建一個數組類型。我能怎麼做? 例如: #include <array> using namespace std; void foo(const int info) { const int num = info + 1; // seems num cannot be c

    1熱度

    3回答

    如果你想要寫一個迭代器,你平時寫 T* operator->() const; 我的問題是理解這一「常量」與指針和參考。 例如,你可以寫下面的結構: struct A{ int* x; A(int& x0):x{&x0}{} int* ptr() const {return x;} int& ref() const {return *x;} };

    -4熱度

    3回答

    我部分修改應用程序,我將需要以下常量的值設置爲可變如果存在環境的價值。 我已經有了: private const string BuildPackagePath = @"\\server\build\"; 我想要做的是: if (Environment.GetEnvironmentVariable("EnvVar") != null) Set the property value to =