标签: stack

在C中,是否在堆栈中分配了一个结构数组?

我想这可能是一个非常愚蠢的问题,但我只是想澄清一下.提前致谢!我不确定在函数内声明为局部变量的结构数组是否在堆栈中分配.没有?

c stack struct

0
推荐指数
1
解决办法
363
查看次数

C++将对象添加到数组

我需要实例化一个对象并将其添加到数组中.这是我目前在一个方法中所拥有的:

Row r;
rows[count] = r;
Run Code Online (Sandbox Code Playgroud)

这里的问题r是在堆栈上并在函数退出后被删除.我快速解决的问题是制作r静态,但那是不对的?我该怎么办?(对不起,完整的C++ noob).

编辑:删除Row的解构函数可以解决问题.

c++ arrays stack

0
推荐指数
1
解决办法
3900
查看次数

在C++中,将char数组传递给super给erros?

我有这个结构:

class Base
{
public:
    void doACopy(char* strToCopy) {
        strcpy(str, strToCopy);
    }
private:
    char str[4];
};

class Derived : public Base
{
public:
    void doSomething() {
        char toCopy[4];
        toCopy[0] = 'a'; toCopy[1] = 'b'; toCopy[2] = 'c';
        Base::doACopy(toCopy); // is there any problem passing toCopy here?
    }
};
Run Code Online (Sandbox Code Playgroud)

我知道toCopy是在堆栈上分配的.将此数组传递给super是否有任何问题,在这种情况下是Derived :: doACopy?

c++ arrays stack

0
推荐指数
1
解决办法
183
查看次数

创建堆栈,其中元素是数组

在我的Qt项目中,我有枚举:

enum Field {EMPTY=0, WHITE=1, BLACK=2};
Run Code Online (Sandbox Code Playgroud)

这个枚举的数组:

Field field[8][8];
Run Code Online (Sandbox Code Playgroud)

现在我需要创建这个数组的堆栈.堆栈元素必须是字段[8] [8].我该怎么做?

c++ stack qt

0
推荐指数
1
解决办法
102
查看次数

堆栈复杂性

如何计算堆栈的复杂性?是的,我的意思是Stack(Push,Pop)的各种操作.怎么可以说这些操作的复杂性将是O(1).

algorithm big-o stack time-complexity data-structures

0
推荐指数
1
解决办法
7639
查看次数

C++:堆栈上的未初始化(?)数组(关于OpenGL的示例)

在堆栈上创建的数组的内容是什么,但没有放入值?像这样:

int array[4]
cout << array[2];
Run Code Online (Sandbox Code Playgroud)

我问这个是因为我在OpenGL中总是看到生成纹理时,它是这样做的:

GLuint textures[4];
glGenTextures(4, &textures[0]);

glBindTexture(GL_TEXTURE_2D, textures[2]);
Run Code Online (Sandbox Code Playgroud)

这有什么关系?

谢谢.

c++ arrays opengl stack

0
推荐指数
1
解决办法
193
查看次数

Stack对象如何与Value项一起使用

说我在课堂上有这个

private static Stack<int> _cursorRefCounts = new Stack<int>();
Run Code Online (Sandbox Code Playgroud)

当我打电话给_cursorRefCounts.Peek()什么回来?它是参考还是价值?

如果我增加返回的值然后再次调用Peek,那么会更大吗?

我似乎记得发生的事情是,当它被放入Stack对象时,int被装箱.然后当它出来时它被取消装箱.拆箱是否会再次成为价值物品?

如果我想增加堆栈中的顶级项目,我该怎么做?(注意:这是一个多线程的应用程序.我想只是递增顶部值而不会将其弹出.(虽然我想我可以锁定该部分.))

c# stack .net-3.5

0
推荐指数
1
解决办法
145
查看次数

在C++中有效表示两个堆栈?

假设某些应用程序需要使用两个元素属于同一类型的堆栈.这种双栈数据类型的自然存储结构将由两个阵列和两个顶部指针组成.解释为什么这可能不是一个空间有效的实现.

c++ queue stack pointers data-structures

0
推荐指数
1
解决办法
498
查看次数

发生死锁时同时按下并从列表中弹出元素

以下代码的目的是像堆栈一样实现LIFO容器,而在检索元素时,它将检查列表中是否存在任何现有元素,或者它是否保留在检索元素的线程上,直到有新元素为止元素被插入.

public class Stack {

LinkedList list = new LinkedList();

public synchronized void push(Object x) {
    synchronized (list) {
        list.addLast(x);
        notify();
    }
}

public synchronized Object pop() throws Exception {
    synchronized (list) {
        if (list.size() <= 0) {
            wait();
        }
        return list.removeLast();
    }
}  
Run Code Online (Sandbox Code Playgroud)

}

但是每当调用pop()时List中没有元素,就会发生死锁.如何在避免数据死锁的同时修改此类以实现初始目的.谢谢

java stack deadlock

0
推荐指数
1
解决办法
1112
查看次数

堆栈链接错误问题

编译器在运行程序时给出了这些错误 -

  "Stack<int>::push(int&)", referenced from:
      _main in main.o
  "Stack<int>::~Stack()", referenced from:
      _main in main.o
      _main in main.o
  "Stack<int>::Stack()", referenced from:
      _main in main.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

编译时我没有错误.

代码如下 -

/*
 *  Stack.h
 *  Stack
 *
 *  Created by Sterling McLeod on 2/1/11.
 *  Copyright 2011 University of North Carolina at Charlotte. All rights reserved.
 *
 */
#ifndef STACK_H
#define STACK_H

#include <exception>

template<typename T>
class Stack {

public:


    class EmptyTreeException : public std::exception …
Run Code Online (Sandbox Code Playgroud)

c++ stack runtime-error g++ linker-errors

0
推荐指数
1
解决办法
167
查看次数