pointers

    3热度

    2回答

    有几次我偶然发现了需要复制的指针容器。 比方说,我们有下面的类层次结构: 学生(基类) 大一(子类) Sophmore(子类) 少年(子类) 高级(小类) StudentService 的StudentService类有一个std::vector<Student*> students场和下面的构造: StudentService::StudentService(std::vector<Studen

    1热度

    1回答

    我使用下面的代码列出目录中的文件,然后将它们放入一个名为filename_list的长字符串中。该逻辑是 使用的strdup(“”)的环路 之前分配一个零字符,空终止字符*使用的realloc()来做到这一点,其保留增加其大小在每个迭代现有的内容。我通过将旧的长度添加到文件名的长度来计算新缓冲区的时间。 我使用strcat()将文件名附加到缓冲区。 它工作正常,直到它试图调用realloc()为导

    1热度

    3回答

    我正在写一个代码,用word-Y代替word-X。 正文中的每个单词长度相同。 让说我的字符串,X,Y分别是: “AAA BBB CCC DDD QQQ”,X = 2,Y = 5 所以它会打印:“AAA QQQ CCC ddd bbb“ 但由于某些原因,我不理解它会抛出异常。 我在代码中写了错误。 我知道我的代码有点混乱,所以如果你也有建议,我很乐意听到。 谢谢!!! void changeWor

    -1热度

    3回答

    我试图理解的代码片段在 free a double pointer 和 Why use double pointer? or Why use pointers to pointers? 我想了解以下之间的差别来分配内存。这两个片段是从上面的网址 int** pt; pt = (int*) malloc(sizeof(int)*10); 和 *pt = (int*) malloc(sizeo

    -4热度

    1回答

    我正在制作一个游戏,从外部文件(.txt文件)加载它的数据。当我声明和定义*fp到fopen()函数,给它的文件的目录,它当然工作得很好。 但问题在于:当我想将我的程序发送到另一台计算机或目录时,目录发生更改,因此游戏无法从文件加载其数据。 我需要一种方法让程序搜索所有文件的名称并打开它们,无论程序文件夹在哪里。

    0热度

    1回答

    我正在学校项目上工作,一切正常,但在编译时,我得到了“指针和整数之间的比较”警告。谁能解释为什么会发生这种情况?我在下面的所有四个共享内存初始化中都得到相同的警告。我尝试了不同的方法进行比较。据我所知,shmget和shmat在错误时应该返回-1。即使警告出现了,代码也能很好地工作。我做了更改以提示错误。这些警告在shmat线上提示。下面列出的最小代码。 //-------------------

    1热度

    1回答

    有人能帮我理解为什么它不能使用[Error 1]和[Error 2]之类的语法吗?为什么[ok 1]可能并且工作得很好。 基本的设计是使用Animal作为领域的一般类型良好的领域?或者有什么不好的事情?或建议更好的解决方案? package main import ( pp "github.com/davecgh/go-spew/spew" ) type Cat struct {

    3热度

    4回答

    指针检索2D阵列我尝试以下代码 char arr[5] = {'A', 'E', 'I', 'O', 'U'}; char (*p_arr)[1] = &arr; printf("%c\n", p_arr[0][4]); //returns 'U' 在this计算器螺纹, char (*p_arr2D)[m] = &arr2D //or arr2D 也是用于n*m 2D

    0热度

    1回答

    let data = Data() data.withUnsafeBytes { (uPtr: UnsafePointer<UInt8>) in var ptr = uPtr var j = ptr.pointee var new = ptr.advanced(by: 1) } j这里代表或存储的是什么,是指向数据的下一个字节 ?新变

    1热度

    1回答

    我尝试以下代码 char arr[5] = {'A', 'E', 'I', 'O', 'U'}; char (*p_arr)[1] = &arr; printf("%c\n", p_arr[0][4]); //returns 'U' 为什么没有任何错误,因为 char (*p_arr)[1] = &arr; 似乎是从不兼容的类型的初始化(char (*)[5]而不是要求