小编qua*_*ant的帖子

如何启动默认启用深色主题的 jupyter lab?

这个问题的答案指出,“JupyterLab Dark”主题现在作为普通jupyter-lab安装的一部分提供。

如何配置jupyter-lab以便它在第一次启动时应用已应用的主题来启动,这样我就不必每次启动 jupyter docker 容器时都手动选择它?

jupyter jupyter-lab

9
推荐指数
2
解决办法
4010
查看次数

如何遍历一系列shared_ptr对象?

这更像是一个造型而不是性能问题.我刚刚转换了(大部分)指向shared_ptr对象的指针,并且不情愿地接受weak_ptrs作为原始指针的替代品.我的问题是,迭代共享指针对象的序列(比如说一个向量)的首选方法是什么?这是我一直在做的事情:

std::vector<std::shared_ptr<A>> my_sequence;
// Do something to fill my_sequence;

for (std::shared_ptr<A> const& ptr : my_sequence)
{
  ptr->AMethod();
}
Run Code Online (Sandbox Code Playgroud)

这违背了*不要使用shared_ptr references*规则,那么什么是一个好的选择,为什么呢?

我会问的问题是; 技术是否健全,即.对于AMethod()超小,my_sequence超大,这个方法会因shared_ptr副本而开始阻碍性能吗?它可读吗?这很简单吗?

c++ reference shared-ptr c++11

8
推荐指数
2
解决办法
3981
查看次数

如何从openGL屏幕写入PNG文件?

所以我有这个脚本将显示数据读入字符数组pixels:

        typedef unsigned char uchar;
        // we will store the image data here
        uchar *pixels;
        // the thingy we use to write files
        FILE * shot;
        // we get the width/height of the screen into this array
        int screenStats[4];

        // get the width/height of the window
        glGetIntegerv(GL_VIEWPORT, screenStats);

        // generate an array large enough to hold the pixel data 
        // (width*height*bytesPerPixel)
        pixels = new unsigned char[screenStats[2]*screenStats[3]*3];
        // read in the pixel data, TGA's pixels are BGR aligned
        glReadPixels(0, …
Run Code Online (Sandbox Code Playgroud)

c++ opengl image

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

如何从类型创建临时表?

假设我有一些类型:

CREATE TYPE usr.NameList AS TABLE ([name] VARCHAR(MAX) NOT NULL);
Run Code Online (Sandbox Code Playgroud)

现在我想基于这种类型创建一个临时表,我该怎么做?

CREATE TABLE #superBrand (usr.NameList) -- doesn't work
Run Code Online (Sandbox Code Playgroud)

另外,从这个:基于用户定义的类型创建表:

CREATE TABLE #superBrand OF usr.NameList -- doesn't work
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008

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

如何计算传递给可变参数宏的宏参数的数量?

我已经大部分时间了:

#include <boost/preprocessor.hpp>
#define COUNT(...) BOOST_PP_VARIADIC_SIZE(__VA_ARGS__)
COUNT(1,2,3)
COUNT(1,2)
COUNT(1)
COUNT()
Run Code Online (Sandbox Code Playgroud)

-E在GCC中使用标志运行此输出以下内容

3 2 1 1

当我需要的是:

3 2 1 0

我在这做错了什么?我没有开始使用boost preprocessor,但我确实需要解决方案是可变的.

任何想法如何让这个工作?

c++ boost-preprocessor

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

python异常<type'exception.ImportError'>没有名为gdb的模块:

我刚刚gdb 7.8在运行linux的服务器机器上从我的主目录中的源代码编译.我以前一直在使用gdb 7.6,除了gdb自身的稳定性问题(升级的原因)一切正常.

自升级以来gdb,当我运行时,cgdb 0.6.7我立即得到以下消息:

Python Exception <type 'exceptions.ImportError'> No module named gdb:

warning:
Could not load the Python gdb module from `/home/username/bin/gdb//python'.
Limited Python support is available from the _gdb module.
Suggest passing --data-directory=/path/to/gdb/data-directory.
Run Code Online (Sandbox Code Playgroud)

当我建造时gdb,我使用了./configure --with-python.

当我运行cgdb并且我的程序达到段错误时,我输入backtrace并获得以下消息:

Python例外没有名为gdb.frames的模块:

所以看起来我实际上无法使用gdb/ cgdb没有python支持.我该怎么做才能解决这个问题?

FWIW; 我不用python,我经常写c++.

python gdb cgdb

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

如何确定std :: type_index对于我的编译器是否唯一?

标准是否规定调用std::type_index(typeid(obj))将是该类型的唯一?我找不到相关信息.从type_info::name()我得到这个:

返回包含类型名称的实现定义的以null结尾的字符串.不给出任何保证,特别是返回的字符串对于几种类型可以是相同的,并且在相同程序的调用之间改变.

(来源:http://en.cppreference.com/w/cpp/types/type_info/name)

这使我相信,也许是错位的名称/ typeids是不是一定是唯一的.然而,该页面std::type_index专门用于假设这些类型在其" 使用示例 "中是唯一的.

那么我怎么知道typeid我的编译器是否是唯一的,以及碰撞的可能性是什么?此外,有什么方法可以获得我们可以知道的某种类型的标识符(无论是字符串还是其他类型)?

Demangling是不是一种选择,因为它是非常大的类型太慢了,但我的猜测是,如果实现提供了一个工具来还原函数的名称,然后将错位的名称应该是该类型在实施独特的,无论如何,正确吗?

c++ c++11

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

如何将std :: function对象传递给带函数指针的函数?

我正在尝试c使用这个熟悉的模式与写入的库进行交互:

void some_c_handler(void(*func)(void*), void* data);
Run Code Online (Sandbox Code Playgroud)

现在,我想C++为这个函数编写一个包装器,如下所示:

void my_new_cpp_handler(std::function<void()>&& func)
{
  void (*p)() = foo(func);
  void* data = bar(func);
  some_c_handler(p, data);
}
Run Code Online (Sandbox Code Playgroud)

双方some_c_handler并my_new_cpp_handler正在解决相同的问题; 他们与某个州一起承担某种功能.但后者是首选的,因为它从用户抽象出大部分实现细节,并允许简单地传入lambda对象.

因此,my_new_cpp_handler应该获取func它给出的参数,将其转换为函数指针并将其状态传递给data.

我对标准或执行情况了解不够,std::function知道这是否是一个合理的要求.能foo和bar存在吗?

换句话说,我想要的是能够将有状态函数传递给c回调处理程序,而不必手动实例化我自己的struct类型以传递它.显然std::function已经为我们做了这个,所以我希望能够以某种方式将函数指针与状态分开并将其传递给c-style处理程序.这可能吗?

c c++

8
推荐指数
3
解决办法
3705
查看次数

如何从forward_list中有效地remove_if只有一个元素?

嗯,我认为这个问题几乎总结了一下.我有一个独特项目的forward_list,并希望从中删除一个项目:

std::forward_list<T> mylist;
// fill with stuff

mylist.remove_if([](T const& value)
  {
    return value == condition;
  });
Run Code Online (Sandbox Code Playgroud)

我的意思是,这种方法工作正常但效率低,因为一旦找到并删除了项目,它就会继续搜索.有更好的方法还是我需要手动完成?

c++ algorithm c++11 forward-list

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

如何编译和运行GCC 4.9.x?

我正在运行debian wheezy并希望从GCC 4.7.2升级到GCC 4.9.0.

按照这些指示我安装libgmp-dev,libmpfr-dev和libmpc-dev(我的包管理器给我的版本2:5.0.5 + DFSG-2,3.1.0-5和0.9-4分别),并运行以下编译GCC(请注意,在我的情况下,是4.9.0而不是4.6.2):

tar xzf gcc-4.6.2.tar.gz
cd gcc-4.6.2
./contrib/download_prerequisites
cd ..
mkdir objdir
cd objdir
$PWD/../gcc-4.6.2/configure --prefix=$HOME/gcc-4.6.2 
make
make install
Run Code Online (Sandbox Code Playgroud)

我现在有一个objdir充满东西的目录,但是g ++在哪里,我应该把这个目录放在哪里?

我猜我应该把它移动usr/local到我的PATH变量中添加一些东西,但我不知道到底是什么,以及如何确保在我的旧gcc安装之前搜索它.

gcc gcc4.9

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