小编Fan*_*Fox的帖子

为什么std :: sort不能在std :: list上运行?

由于std::sorta std::list,我收到以下错误:

line 44         : instantiated from here
line 5258 : error: no match for 'operator-' in '_last -__first'
line 179 : note: candidates are: ptrdiff_t std::operator-(const std::_Bit_iterator_base&, const std::_Bit_iterator_base&)

从以下代码:

int main()
{
    std::list<Student_info> students;
    Student_info record;
    string::size_type maxlen = 0;   // the length of the longest name

    // read and store all the students data.
    while (read(cin, record))
    {
        // find length of longest name
        maxlen = max(maxlen, record.name.size());
        students.push_back(record);
    }

    // alphabetize the student …
Run Code Online (Sandbox Code Playgroud)

c++

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

使用matlab有效地可视化大量点.

我有一组3D点数,大约有100万点.我希望用matlab可视化这些.

我尝试了以下功能:

plot3
scatter3
Run Code Online (Sandbox Code Playgroud)

但他们都非常迟钝.有没有更有效的方法来在matlab中可视化这个级别的点?也许一种方法来点对点?

如果没有,任何人都可以建议插件甚至不同的程序来可视化3D点?

matlab visualization point-clouds

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

使Matlab网格线更清晰可见

Matlab 2014b中的网格线又细又轻,这很难看清。是否可以增加Matlab网格线的可见性?

grid matlab

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

为什么将WSARecvMsg函数实现为函数指针并且可以重用此指针?

此处WSARecvMsg描述的函数要求您检索指向它的函数指针,如以下引用所示:

注意必须在运行时通过使用指定的SIO_GET_EXTENSION_FUNCTION_POINTER操作码调用WSAIoctl函数来获取WSARecvMsg函数的函数指针.

这有什么特别的原因吗? 在使用这个函数时,我打算在启动时检索函数指针,然后从那时开始一直使用它.这种方法有什么问题吗?关于函数的任何改变都意味着我们需要重新获取这个指针,我们怎么知道是不是这样呢?

c++ sockets windows

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

访问派生类对象的成员变量,指向其基类的指针

我有一个基类和两个派生自它的类.我在基类中有几个虚函数,所以我创建了一个指向基类的指针,并使用这个指针来访问这些方法.

现在我想使用指向派生类对象的基类的指针来访问派生类的成员变量(此变量不存在于基类中).

可以这样做吗?应该这样做吗?

c++ polymorphism

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

在matlab中填充零字符串

我有一个日期的日志文件,即:

LOG_20120509_100000.log
(year) (month) (day) _ (hour) (minute) (second)
Run Code Online (Sandbox Code Playgroud)

但想象一下,我想在一组每小时的日志文件上执行相同的操作.我希望能够这样做:

for i in 0:23
    perform on LOG_20120509_%d0000.log, i
end
Run Code Online (Sandbox Code Playgroud)

但这对于小时不到10点钟的日志不起作用,因为它将成为:

LOG_20120509_50000.log
Run Code Online (Sandbox Code Playgroud)

那么如何在matlab中填充零?

string matlab pad

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

从命令行在MATLAB中设置图形视图

如何从命令行在MATLAB中将图形旋转到XY,XZ或YZ?

matlab visualization

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

c ++是一种与空格无关的语言,是规则的例外

这个wikepedia页面将c ++定义为"与空白无关的独立语言".虽然与所有语言一样都是正确的,但规则有例外.我现在唯一能想到的就是:

vector<vector<double> >
Run Code Online (Sandbox Code Playgroud)

必须有空格,否则编译器将>>解释为流操作符.还有其他什么.编译一个例外列表会很有趣.

c++ whitespace

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

列出具有私有成员的类的初始化

std::vector允许列表初始化像下面这样:

std::vector a = {1, 2, 3, 4};
Run Code Online (Sandbox Code Playgroud)

据我所知,底层成员std::vector是私有的,你可以访问数据数组,a.data()但实际成员是private.如果我错了,请纠正.

那么我怎么能用我自己的班级来模仿呢?我知道,如果您的会员是公开的,您可以这样做:

class A
{
public:
    std::vector<int> a;
    std::map<int, int> b;
};

A a = {{1, 2, 3, 4}, {{1, 2}, {3, 4}}};
Run Code Online (Sandbox Code Playgroud)

但是我说我有一个简单的类,它有一个私有成员,就像一个向量说例如:有限长度列表

class LimitedLengthList
{

    LimitedLengthList(int length) : maxLength(length){};
    int operator[]
    etc etc

private:
    int maxLength;
    std::vector<int> list;  
};
Run Code Online (Sandbox Code Playgroud)

我如何将其暴露于聚合初始化并对其施加最大长度等制裁?有可能做这样的事情:

LimitedLengthList a(5) = {1, 2, 3};
Run Code Online (Sandbox Code Playgroud)

或这个:

LimitedLengthList a = {1, {1, 2, 3}};
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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

如何在 C++ 中使用向量&lt;Point2f&gt;

我想使用此代码(源代码)在opencv中查找基本矩阵。

\n\n
int point_count = 100;\n    vector<Point2f> points1(point_count);\n    vector<Point2f> points2(point_count);\n\n    // initialize the points here ... */\n    for( int i = 0; i < point_count; i++ )\n    {\n        points1[i] = ...;\n        points2[i] = ...;\n    }\n\n    Mat fundamental_matrix =\n     findFundamentalMat(points1, points2, FM_RANSAC, 3, 0.99);\n
Run Code Online (Sandbox Code Playgroud)\n\n

但我不知道如何在for循环中初始化points1、point2。\n我尝试过使用:

\n\n
points1[i] = 10.0;\npoints1[i] = (10.0, 20.0);\npoints1[i] = {10.0, 20.0};\n
Run Code Online (Sandbox Code Playgroud)\n\n

但出现这样的错误

\n\n
no match for \xe2\x80\x98operator=\xe2\x80\x99 (operand types are \xe2\x80\x98cv::Point_<float>\xe2\x80\x99 and \xe2\x80\x98double\xe2\x80\x99)\n
Run Code Online (Sandbox Code Playgroud)\n\n

在所有这些中。

\n

c++ opencv

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