小编siv*_*udh的帖子

C++ const:编译器怎么没有给出警告/错误

关于C++ constness的简单问题.

所以我正在阅读这篇文章,然后我尝试了这段代码:

int some_num = 5;
const int* some_num_ptr = &some_num;
Run Code Online (Sandbox Code Playgroud)

为什么编译器不会给出错误或至少发出警告?

我在阅读上述声明的方式中说:

Create a pointer that points to a constant integer
Run Code Online (Sandbox Code Playgroud)

但some_num不是一个常数整数 - 它只是一个整数.

c++ const

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

用于调用基类方法的简洁(但仍具有表现力)的C++语法

我想专门调用基类方法; 什么是最简洁的方法呢?例如:

class Base
{
public:
  bool operator != (Base&);
};

class Child : public Base
{
public:
  bool operator != (Child& child_)
  {
    if(Base::operator!=(child_))  // Is there a more concise syntax than this?
      return true;

    // ... Some other comparisons that Base does not know about ...

    return false;
  }
};
Run Code Online (Sandbox Code Playgroud)

c++ syntax inheritance base-class

4
推荐指数
2
解决办法
624
查看次数

这种技术在Java中被称为什么?

我是一名C++程序员,当我看到下面的例子时,我正在阅读这个网站.这种技术在Java中被称为什么?它有用吗?

class Application {
...
  public void run() {
    View v = createView();
    v.display();
...
  protected View createView() {
    return new View();
  }
...
}    

class ApplicationTest extends TestCase {

  MockView mockView = new MockView();

  public void testApplication {
    Application a = new Application() {    <---
      protected View createView() {        <---
        return mockView;                   <--- whao, what is this?
      }                                    <---
    };                                     <---
    a.run();
    mockView.validate();
  }

  private class MockView extends View
  {
    boolean isDisplayed = false;

    public void display() …
Run Code Online (Sandbox Code Playgroud)

java anonymous-class

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

C++我该怎么重构呢?

我在许多地方的测试代码中都有以下代码:

  //
  // Make a function call while expecting an exception should be thrown
  //
  bool exceptionThrown = false;
  try
  {
    expectNotEqual(someData, anotherData, methodName);
  }
  catch(std::logic_error&)
  {
    exceptionThrown = true;
  }
  if(!exceptionThrown)
    throw std::logic_error(methodName+"exception not thrown");
Run Code Online (Sandbox Code Playgroud)

如果我可以封装所有这些并且执行以下操作,那将是更好的(更可读,更简洁):

  exceptionShouldBeThrown(expectNotEqual(someData, anotherData, methodName));
Run Code Online (Sandbox Code Playgroud)

我不想使用宏...有谁知道如何用C++实现上面的单行程?

c++

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

发出QByteArray是否效率低下?

我的应用程序是网络应用程序.它的工作是接收数据包流(QByteArray),我希望将它们作为信号发出.会这样做效率低吗?我关心的是复制大缓冲区.

performance qt

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

如何将函数传递给函数?

假设我有一个包含2个静态函数的类:

class CommandHandler
{
public:
  static void command_one(Item);
  static void command_two(Item);
};
Run Code Online (Sandbox Code Playgroud)

我有一个DRY问题,我有两个函数,每个行都有完全相同的代码,除了它调用的函数:

void CommandOne_User()
{
  // some code A

  CommandHandler::command_one(item);

  // some code B
}

void CommandTwo_User()
{
  // some code A

  CommandHandler::command_two(item);

  // some code B
}
Run Code Online (Sandbox Code Playgroud)

我想删除重复,理想情况下,执行以下操作:

void CommandOne_User()
{
  Function func = CommandHandler::command_one();

  Refactored_CommandUser(func);
}

void CommandTwo_User()
{
 Function func = CommandHandler::command_one();

 Refactored_CommandUser(func);
}

void Refactored_CommandUser(Function func)
{
  // some code A

  func(item);
}
Run Code Online (Sandbox Code Playgroud)

我可以访问Qt,但不能访问Boost.有人可以帮我建议如何重构这样的东西吗?

c++ refactoring qt

4
推荐指数
2
解决办法
357
查看次数

数组中的数字求和

我是Python新手。

在此站点上,他们显示了如何对整数列表求和。

如果您有一个原始列表而不是原始整数列表怎么办?

class Number :
   def __init__( self, x = 0) :
      self.number = x      

   def getNumber( self ) :
      return self.number
Run Code Online (Sandbox Code Playgroud)

将几行中的self.number相加(希望如此)的Python代码是什么?

python-3.x

4
推荐指数
2
解决办法
7589
查看次数

boost :: program_options:如何获取应用程序名称?

使用Boost Program Options,你如何获得argv [0]的字符串等价物?

c++ boost-program-options

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

这些NotePad ++功能是否在TextMate中可用?

我是NotePad ++用户,是TextMate的新用户.

在NP ++中我有一些我非常喜欢的功能,但无法弄清楚TextMate是否支持它们.

双击变量并突出显示所有实例 替代文字

并排查看2个文本窗口 替代文字

将文件拖到另一个打开的窗口上

对于这个,我不知道如何生成截图;-p.基本上,您可以从Windows资源管理器中拖动文件并将其放入NP ++以打开它.

textmate notepad++

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

gRPC:RPC处理程序如何正确检测`Server`是否为`Shutdown()`

目前,我正在使用一种hackish方式 - 一个全局变量 - 使RPC处理程序能够检测到Server已经(即将被)调用Shutdown().

bool g_ServerIsNotDead = true;   // Hack!

Status StreamServiceImpl::GetCurrentTemperature(ServerContext *context_,
                                                const UpdateInterval *request_,
                                                ServerWriter<Temperature> *stream_)
{
  auto currentTemp = 100.0f;
  while(g_ServerIsNotDead)   // Hack!!!
  {
    qDebug() << QThread::currentThreadId() << currentTemp << "farenheit.";

    Temperature message;
    message.set_temperature(currentTemp);
    stream_->Write(message);

    QThread::sleep(2);

    currentTemp += 1.0f;
  }

  return Status::OK;
}

void insideSomeFunction() {
   // Testing shutdown 5 seconds later
   QTimer::singleShot(std::chrono::seconds(5), this, [=]() {
      qDebug() << "Shuting down!";

      g_ServerIsNotDead = false;   // Hack!!

      this->server->Shutdown();    // This method actually blocks until …
Run Code Online (Sandbox Code Playgroud)

c++ qt grpc

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