pointers

    -1热度

    1回答

    所以,我有一个类使用WM_COPYDATA来允许应用程序进行通信。 type TMyRec = record Name: string[255]; Age: integer; Birthday: TDateTime; end; function TAppCommunication.SendRecord(const ARecordToSend:

    3热度

    1回答

    我使用boost :: variant进行存储,一个可能的数据成员是一个大型结构。所以二进制变体的大小至少是这个结构大小。在我的情况下,所有其他成员都非常小​​,如int或double。 为了避免基本的大布局,有没有办法强制boost :: variant将项目存储为指针? 当然,我可以使用智能指针来保存的500个字节 这个大结构,但在这种情况下,得到了Methode也将工作作为指针访问..这是不

    1热度

    1回答

    我有一个vector<T> input我想从中获得n随机选择的元素通过STL C++ 17(http://en.cppreference.com/w/cpp/algorithm/sample)的std::sample算法。如果results的类型为vector<T>,代码工作正常。 代码示例1(没有指针返回) auto getSamples(unsigned int noSamples, cons

    0热度

    1回答

    如何创建指向类方法的指针向量?我有我的向量类的成员(与不同的返回值和签名的方法,载体必须存储指针): QVector<void(*)()> m_operationsVector; 然后,我有例如类的方法: QString sampleMethod(QJsonObject &jsonObject, QString delim); 而且我尝试添加的指针,这种方法载体: m_operations

    2热度

    1回答

    我正在学习C语言,而我在二维数组指针中感到困惑。 我有以下声明 int a[3][5]; int *b[3][3]; int (*c)[3][5]; int *(d[3][5]); int (*e[3])[5]; 任何人都可以帮我澄清 0,如果有是有效申报或不 1.一个的sizeof,B,C,d,E(假设64位机,地址标识8字节) 2.他们指向的是什么 3.如何访问二维数组中的元素 我

    0热度

    1回答

    我做了搜索用于交换链表的两个节点C++的语法和发现的代码块如下: void swapNode(call * &head, call * &first, call * &second) { // swap values, assuming the payload is an int: int tempValue = first->value; first->value

    0热度

    1回答

    我很困惑C如何在内存中存储数组。从下面的例子来看,str1的地址等于它的值。惠特,我正在解释的结果为:内存地址& str1包含地址本身的值。但事实并非如此,因为从其他例子中我看到str1的地址包含字符串的第一个值,在本例中为“H”。 所以我的问题可以是:str1的地址存储在哪里? #include <stdio.h> int main(int argc, char const *argv[])

    0热度

    2回答

    我正在编写一个C程序来计算Spearman系数。它工作正常,但是当我使用 *spearmanCoefficient = coeff;我得到这样的输出:Spearman: 0.01 ,当我使用 spearmanCoefficient = &coeff;我得到这样的输出:Spearman: 15707109983512927750860237824432537600.00 然而,correlation

    -1热度

    1回答

    所以我对C++编程还很陌生,在我当前的编程课程中,我们正在学习操作符重载和朋友函数。我们被告知创建一个具有不同类型的构造函数和重载操作符的类Money。当我们没有私人成员变量的指针时,程序变得容易得多,但现在它已经有点过头了。 在继续定义其余的重载操作符函数之前,我想获得一些帮助。基本上我试图做的是将Money类的两个对象一起添加,但是当我运行该程序时,我一直在获取分段错误。我知道这与指针和访问无

    1热度

    1回答

    我一直在寻找到一些内存管理(pool + malloc + free)实现使用链表,我发现,在大部分时间里的每一个节点是这样的: typedef struct node{ int usedSize; node* next; char mem[100]; } 然后free(ptr)必须是: free(void* ptr){ node* item = (node*)((char*)ptr