小编Xeg*_*ara的帖子

什么是C++中的可调用对象?

我正在研究提升线程.我发现线程类有一个接受可调用对象的构造函数.什么是可调用对象?

class CallableClass
{
private:
    // Number of iterations
    int m_iterations;

public:

    // Default constructor
    CallableClass()
    {
        m_iterations=10;
    }

    // Constructor with number of iterations
    CallableClass(int iterations)
    {
        m_iterations=iterations;
    }

    // Copy constructor
    CallableClass(const CallableClass& source)
    {
        m_iterations=source.m_iterations;
    }

    // Destructor
    ~CallableClass()
    {
    }

    // Assignment operator
    CallableClass& operator = (const CallableClass& source)
    {
        m_iterations=source.m_iterations;
        return *this;
    }

    // Static function called by thread
    static void StaticFunction()
    {
        for (int i=0; i < 10; i++)  // Hard-coded upper limit
        { …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading object callable

17
推荐指数
4
解决办法
1万
查看次数

使用printf函数而不实际导入stdio.h并且它有效吗?!为什么会这样?

可能重复:
为什么的#include <stdio.h>中是使用的printf(需要)?

//#include <stdio.h>
//#include <conio.h>

main(){

printf("Hi");
getch();

}
Run Code Online (Sandbox Code Playgroud)

当我编程这个时,它震惊了我,它没有实际导入任何包含printf函数的stdio等c库.为什么会这样?(使用Dev-C++ 4.9.9.2,保存为.c,而不是.cpp)

c

3
推荐指数
1
解决办法
2万
查看次数

是否有一种C语言技术可以占用一个字节?

给定一个复杂的数据结构,其中每个子结构都有一个具有{true或false}域的变量,

(例如)

struct dataBlock{
    struct {
        /* more members */
        char status;
    } node1;

    struct {
       /* more members */
       char status;
    } node2;
    /* More nodes */
};
Run Code Online (Sandbox Code Playgroud)

只有1或0的值只有一个字节是浪费.是否有一种C语言技术,每个节点中的状态只会占用一个字节中的一个位?我能想到的是使用MACROS但是宏不能包含在本地范围内吗?因此,具有宏状态将意味着程序中只有一个宏状态.因此,调用node1.status和node2.status使用相同的宏.

c

2
推荐指数
1
解决办法
140
查看次数

链表中的线性搜索[语言:C++编译器:Dev-Cpp 4.9.9.2]

我遇到了问题,似乎无法找到解决方案..

int linearSearch(nodeptr list,char search){
    int pos =0;
    if(list==NULL)
        return -1;
    while(list->info!=search && list!=NULL){
        pos++;
        list=list->next;
    }
    if(list==NULL)
        return -1;
    else
        return pos;
}
Run Code Online (Sandbox Code Playgroud)

我总是得到运行时错误.. :(

c++

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

字符串反向,std :: string不允许字符赋值?

这是我使用反转字符串的代码std::string.但它不起作用..

#include <string>
#include <iostream>
using namespace std;

main()
{
   string input;
   int i, j;
   cout << "Enter a string: ";
   getline(cin,input);

   string output;
   for(i = 0, j = input.length() - 1; i < input.length(); i++, j--)
      output[i]=input[j];

   cout << "Reversed string = " << output;
   cin.get();
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我们替换字符串输出,char output[100];它会工作.所以std::string不允许角色分配?

c++ stdstring

0
推荐指数
2
解决办法
9636
查看次数

标签 统计

c++ ×3

c ×2

callable ×1

multithreading ×1

object ×1

stdstring ×1