小编Ram*_*ama的帖子

将指针添加到另一个对象

我有两个不同类的实例,它们派生自同一个抽象基类.我有一个指向其中一个实例的指针.如何使用相同的指针指向另一个实例?

c++ pointers object

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

如何拆分wstring

我有一个wstring变量,我想用空格分割它并放入一个vector

wstring wStr = L"Hello World !";


vector<wstring> vw;

wstring st = L"";
for (int i = 0; i < wStr.length(); i++) {

    if (&wStr[i] == L" ") {
        vw.push_back(st);
    }
    else{
        st += wStr[i];
    }

}
Run Code Online (Sandbox Code Playgroud)

我的结果应该是这样的vector:


你好
世界
!

但如果声明,它不会进入

c++ c++11

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

如何将字符插入集合?

我有一个小菜单,从菜单开始,玩家可以选择6个选项.从玩家的决定将与被写入cin到一个char变量.这很好用,游戏从选项开始.但是当玩家输入另一个值然后游戏出错时,游戏也会启动.为了解决这个问题,我想使用带有可能选项的字符集.但在每一种方式我尝试将值插入到set变量中我得到编译器错误.

当我尝试初始化set时声明我得到"'a'未在此范围内声明":

set <char> Options {a,b};
Run Code Online (Sandbox Code Playgroud)

如果我这样尝试,"没有匹配函数来调用'std :: set :: insert(const char [2])'|"

set <char> Options {"a","b"};
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我也得到"'a'未在此范围内声明"

set <char> Options;

int main()

Options.insert(a);
Run Code Online (Sandbox Code Playgroud)

我也尝试了这个,但是我再次得到"没有匹配函数来调用'std :: set :: insert(const char [2])'"

set <char> Options;

int main()

Options.insert("a");
Run Code Online (Sandbox Code Playgroud)

所以现在我很困惑.使用整数我没有问题,但是当我尝试将它与字符一起使用时,我没有让它工作.

有人可以帮忙吗?

(这是我的第一个问题,我希望它的配方很好)

c++ c++11

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

线程创建C++ std :: thread时抛出异常

我正在尝试使用C++生成一些线程,std::thread但我无法让它工作.如果它有任何区别我正在使用VS 2015.它在线程创建失败(t[thread_id] = std::thread(test);).这是我的代码的相关部分:

void test() {}

void threaded_DFT(std::complex<double>* x, std::complex<double>* X, size_t N) {

std::complex<double>* tmp=(std::complex<double>*)malloc(N * sizeof *tmp);
std::thread* t=NULL;
size_t num_threads;

size_t stages = log2(N);
size_t FFT_8_stages = stages / 3;
size_t remainder_stages = stages % 3;

size_t Ns = 1;
for (size_t i=0, Ns = 1; i < FFT_8_stages; i++,Ns=pow(2,3*i))
{
    num_threads = N / 8;
    t = (std::thread*)malloc(num_threads * sizeof *t);
    if (!t)
        exit(EXIT_FAILURE);
    for (size_t thread_id = 0; thread_id < …
Run Code Online (Sandbox Code Playgroud)

c++ stdthread

-1
推荐指数
1
解决办法
376
查看次数

删除链表的第一个节点(C++)

我想知道这段代码是否正确删除了第一个节点,还是我必须将列表的头部作为指针传递?

 void List::deleteFirst()          
 {
 temp = head;
 head = head->next;
 delete temp;
 }
Run Code Online (Sandbox Code Playgroud)

这是班级 List

  class List
  {
   private:
           struct node
           {
                int data;
                node * next;
           };
           node * head;
           node * curr;
           node * temp;
   public:
           //List();
           //void AddNode(int addData);
           //void DeleteNode(int delData);
           void deleteFirst();
           //void PrintList();
};
Run Code Online (Sandbox Code Playgroud)

c++ linked-list

-3
推荐指数
1
解决办法
318
查看次数

标签 统计

c++ ×5

c++11 ×2

linked-list ×1

object ×1

pointers ×1

stdthread ×1