我有一个带有继承和shared_ptr来自 boost 库的简单代码。使用标准 c++20,代码可以正常编译。函数调用static_pointer_cast和dynamic_pointer_cast编译无需预先boost::命名空间——这些函数调用之所以有效,是因为 ADL(参数相关查找)。
但对于标准 c++17,代码将无法编译。我认为 ADL 没有实现,或者实现方式不同。但是,如果我添加using namespace std,代码就可以正常编译。我的问题是:与库的函数调用std有什么关系?boost
这是在线编译器,因此您可以通过注释行中和注释行来进行操作using namespace std;: https: //godbolt.org/z/cz8Md5Ezf
#include <iostream>
#include <boost/shared_ptr.hpp>
#include <boost/make_shared.hpp>
// using namespace std;
class Animal {
public:
Animal()
{}
virtual ~Animal()
{}
void speak()
{
std::cout << "I am an animal\n";
}
};
class Dog : public Animal {
public:
Dog()
{}
void bark()
{
std::cout << "Gheu --> ";
}
void …Run Code Online (Sandbox Code Playgroud) 我想创建一个单独的函数,我可以在其中发送一个字符串,它会适当地呈现文本,这样我就不需要复制粘贴相同的内容。我想出的功能如下。
void renderText(SDL_Renderer* renderer, char* text,
char* font_name, int font_size,
SDL_Color color, SDL_Rect text_area)
{
/* If TTF was not initialized initialize it */
if (!TTF_WasInit()) {
if (TTF_Init() < 0) {
printf("Error initializing TTF: %s\n", SDL_GetError());
return EXIT_FAILURE;
}
}
TTF_Font* font = TTF_OpenFont(font_name, font_size);
if (font == NULL) {
printf("Error opening font: %s\n", SDL_GetError());
return;
}
SDL_Surface* surface = TTF_RenderText_Blended(font, text, color);
SDL_Texture* texture = SDL_CreateTextureFromSurface(renderer, surface);
if (!texture) {
printf("error creating texture: %s\n", SDL_GetError());
TTF_CloseFont(font);
return;
} …Run Code Online (Sandbox Code Playgroud) 我已经通过脱脂$ man gcc和$ man g++,但还没有发现的东西,将打印错误和警告计数。但是我看到 Emacs 可以在缓冲区中打印错误计数和警告计数*compilation*。因此,必须有一个选项,gcc和g++我失踪,因为我不认为Emacs的本身将执行错误计数,这只是太多的工作。
如何从 gcc 和 g++ 获取错误和警告的计数?
A---B---C topic
/
D---E master
Run Code Online (Sandbox Code Playgroud)
如果我做
git checkout master
git merge topic
Run Code Online (Sandbox Code Playgroud)
我去拿
D---E---A---B---C master,topic
Run Code Online (Sandbox Code Playgroud)
我如何合并,以便提交图保持如下所示
A---B---C topic
/ \
D---E-----------F master
Run Code Online (Sandbox Code Playgroud) 我正在使用ks包来计算和绘制二元核密度估计。它效果很好,但我想使用 ggplot 来绘制估计值。
我可以尝试创建一个自定义函数来为 ggplot 准备数据框和其他内容,但我感觉更有经验的 R 用户可以更轻松地做到这一点。
那么,我该怎么做呢?
以下是 ks::kde 的示例场景:
data <- cbind(rnorm(100), rnorm(100))
kd <- ks::kde(data)
plot(kd, display = "slice", col = viridis::viridis(20))
plot(kd, display = "image", col = viridis::viridis(20))
plot(kd, display = "persp", col.fun = viridis::viridis)
Run Code Online (Sandbox Code Playgroud)
上面的代码应该给你以下的图。如何使用 ggplot 来绘制这些图?
编辑:我需要使用ks按包计算的估计值。提供的本机函数ggplot2使用名为 的包MASS。所以这样不行。