小编Phi*_*ipp的帖子

重新绘制数据点之间的参考线

LineChart我有一个带有数字 x 轴的图表。我想ReferenceLine在任意 x 值上绘制 a,但如果 的 x 属性ReferenceLine不是我的数据中的任何 x 值,则它不会显示。

const data = [{ x: 1, y: 3 }, { x: 1.5, y: 4 }, { x: 2, y: 3 }];
...
<ReferenceLine x={1.7} stroke="green" label="actual" alwaysShow={true} />
Run Code Online (Sandbox Code Playgroud)

什么都没有显示,其中

const data = [{ x: 1, y: 3 }, { x: 1.5, y: 4 }, { x: 2, y: 3 }];
...
<ReferenceLine x={1.5} stroke="green" label="actual" alwaysShow={true} />
Run Code Online (Sandbox Code Playgroud)

作品。

我在这里构建了沙箱: https ://codesandbox.io/s/recharts-playground-xxwnl

有没有办法让ReferenceLine显示每个x?

reactjs recharts

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

const变量的初始化

我有这样的代码:

bool doSomething()
{ 
  std::cout << "I'm here!"
  return true;
}
const bool x = doSomething();
Run Code Online (Sandbox Code Playgroud)

如果放在我的Visual C++控制台应用程序中的cpp文件中,则在进入main()方法之前按预期执行代码.

但是,如果我将此代码放在静态链接库项目(链接到我的控制台应用程序)中的.cpp文件中,则永远不会执行代码.我没有在这个文件中定义任何从外部使用的方法,没有相应的.h文件.那么链接器是否可能不链接文件?我怎么能避免这个?

(实际上,如果我为cpp文件创建头文件,则执行代码,在cpp-和h文件中放置另一个方法"void dummy(){}"并从main调用dummy().)

非常感谢!

c++ initialization const visual-c++

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

CppCheck:变量“bla”未赋值

在我的代码库上运行 CppCheck 会产生一些样式警告。例如在

void foo(int& x)
{
  x = 0; 
}
void bar()
{
  int y;
  foo(y);
}
Run Code Online (Sandbox Code Playgroud)

它给了我

Variable 'y' is not assigned a value
Run Code Online (Sandbox Code Playgroud)

这与代码相同

 char buffer[160];
 i+=sprintf(buffer,"%2.2ld.",ymd.monthday);
Run Code Online (Sandbox Code Playgroud)

这是我的代码有问题还是 CppCheck 有问题?(如何)我应该修复它?

感谢您的任何想法!

c++ coding-style cppcheck

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

如何为秒表编写单元测试?

我有一个班级来测量呼叫Start和呼叫之间的时间Stop.我创建了一个单元测试,使用和boost::this_thread::sleep之间的睡眠,我测试结果是在睡觉时间附近.StartStop

但是,此测试在我们的构建代理上失败,但在我们的开发机器上失败 问题是:我如何知道这是否是秒表的实际问题,或者如果构建代理(运行其他进程,作为虚拟机)可能比我告诉它的时间长,这是一个"问题"?

所以问题是:是否有一种强有力的方式来编写"做一些需要x秒的东西?"

非常感谢!

c++ windows time unit-testing

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

分裂表达式的数值稳定性

我偶然发现了类似的代码

double x,y = ...;
double n = sqrt(x*x+y*y);
if (n > 0)
{
   double d1 = (x*x)/n;
   double d2 = (x*y)/n;
}
Run Code Online (Sandbox Code Playgroud)

我想知道关于这样的表达的为小的值的数值稳定性xy.

对于这两个表达式,lim (x->0, y->0) (...) = 0从数学的角度来看,它看起来很安全(分母O(x²)而分母是O(x)).

不过我的问题是:这段代码有任何可能的数值问题吗?

编辑:如果可能的话,我想避免重写表达式,因为n实际上使用了两次并保持可读性(在上下文中相对清楚会发生什么).

c++ numeric

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

当属性名称是关键字时访问动态对象的属性

我正在尝试访问这样的 JSON 对象的属性:

using Newtonsoft.Json.Linq;

dynamic myJsonData = JObject.Parse("{ \"out\":123, \"xyz\": 456 }");
Console.WriteLine(myJsonData.xyz); //works          
Console.WriteLine(myJsonData.out); //compiler error ";" expected
Run Code Online (Sandbox Code Playgroud)

但是,最后一行不会编译。

即使 out 是 C# 中的关键字,是否有一种简单的方法可以使用动态属性来获取“out”的值?

c# json dynamic

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

方法模板作为函子

我有一个容器类模板,其中包含几种不同类型的成员。我想传递一个用于每个元素的函子。我可以用以下代码做我想做的事情:

#include <iostream>

template <typename T1, typename T2>
class MyContainer
{
public:
  template <typename Op>
  void run_operation(Op op)
  {
    op(t1);
    op(t2);
  }

  T1 t1;
  T2 t2;


};

struct OutputOperation
{
  template <typename T>
  void operator()(T t)
  {
    std::cout << "value is " << t << std::endl;
  }
};

int main() {
  MyContainer<int, double> container;
  OutputOperation out_op;
  container.run_operation(out_op);

}
Run Code Online (Sandbox Code Playgroud)

当使用模板定义结构时operator(),我缺少定义lambda函数时的舒适性。有什么方法可以使用lambda函数达到与struct相同的效果吗?还是至少可以让我在调用方法中定义操作(某些模板无法做到)?

c++ lambda templates generic-lambda

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

使用模板编译MS VC++代码时出现GCC错误

我们正在为Visual Studio 2008编写一些代码并尝试使用gcc编译它.我们在以下代码中遇到错误(简化为必要的):

template<int R, int C, typename T>
struct Vector
{
 template <typename TRes>
 TRes magnitude() const
 {
  return 0;
 }

};

struct A
{
 typedef Vector<3,1,int> NodeVector;
};

template<class T>
struct B
{
 void foo()
 {
  typename T::NodeVector x;
  x.magnitude<double>(); //< error here
 }
};

...
    B<A> test;
    test.foo();
Run Code Online (Sandbox Code Playgroud)

GCC说

error: expected primary-expression before 'double'
error: expected `;' before 'double'
Run Code Online (Sandbox Code Playgroud)

你能解释一下这个错误吗?什么是交叉编译器解决方案?

非常感谢!

c++ gcc templates

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

接口的钻石问题

我正在使用许多抽象类,它们只定义纯虚函数和虚拟(非纯)析构函数.

没有使用虚拟继承,是否仍然可以使用钻石继承结构?(我想确保即使某些程序员不知道他应该使用虚拟继承也没有问题.)什么是一个很好的资源,它提供了一个简短而完整的主题概述?

谢谢!

c++ multiple-inheritance diamond-problem

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

为什么BroadcastReceiver需要默认构造函数?

我创建了一个从服务构造的BroadcastReceiver.BroadcastReceiver需要与服务进行交互,因此我将传递this给构造函数.添加[BroadcastReceiver] -Attribute并尝试编译(使用MonoDevelop)后,我得到了

D:\Programme\MSBuild\Novell\Novell.MonoDroid.Common.targets(3,3): Error MSB4018: Unerwarteter Fehler bei der GenerateJavaStubs-Aufgabe.

System.InvalidOperationException: The type 'keepass2android.TimeoutService/MyBroadcastReceiver' needs to have a public default constructor.
   at Xamarin.Android.Tasks.ManifestDocument.Merge(List`1 subclasses, List`1 selectedWhitelistAssemblies, Boolean embed)
   at Xamarin.Android.Tasks.GenerateJavaStubs.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask, Boolean& taskResult) (MSB4018) (keepass2android)
Run Code Online (Sandbox Code Playgroud)

为什么Mono for Android需要这个默认构造函数?它是否会使用默认构造函数创建我的BroadcastReceiver(在这种情况下,BroadcastReceiver将无法正常工作)?

c# android xamarin.android xamarin

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