小编gre*_*olf的帖子

从long long转换为int,另一种转换回c ++

如何从long long转换为int,另一种转换回c ++?也有长长的特性,特别是它的最大尺寸,谢谢提前..

c++ int casting long-integer

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

使用大括号初始化程序,实际上"实例化"一个抽象类类型?

今天我偶然发现了以下问题.有人太喜欢大括号初始化器并且不小心试图实例化接口类.忍受我:

#include <iostream>

class IFoo
{
public:
   virtual ~IFoo() = default;
   virtual bool getFoo() const = 0;
};

void processFoo(const IFoo &fooImpl)
{
    bool foo = fooImpl.getFoo();
    std::cout << "got foo " << foo << std::endl;
}

int main()
{
   processFoo({});  // <- why is this valid?!
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我一直期望编译器会发出类似于在尝试调用IFoo()或调用某些东西时所获得的错误IFoo{}.但是,上面的代码在没有警告的情况下进行编译(在gcc 6.2上),但是当你尝试调用该方法时,很明显会以" 纯虚方法调用 " 结束getFoo().实例.

有人可以向我解释那里发生了什么事吗?

c++ abstract-class c++11

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

这个C++语法是什么意思,为什么它起作用?

我正在浏览OpenDE的源代码,我在类上遇到了数组索引运算符'[]'的一些奇怪的语法用法.这是一个显示语法的简化示例:

#include <iostream>

class Point
{
public:
    Point() : x(2.8), y(4.2), z(9.5) {}

    operator const float *() const
    {
        return &x;
    }

private:
    float x, y, z;
};

int main()
{
    Point p;
    std::cout << "x: " << p[0] << '\n'
              << "y: " << p[1] << '\n'
              << "z: " << p[2];
}
Run Code Online (Sandbox Code Playgroud)

输出:

x: 2.8
y: 4.2
z: 9.5
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?为什么这种语法有效?Point类不包含重载operator [],此处此代码试图自动转换为浮动某处.

我以前从未见过这种用法 - 至少可以说这看起来很奇怪而且令人惊讶.

谢谢

c++ operator-overloading

15
推荐指数
2
解决办法
580
查看次数

为什么在返回字符串的函数上调用c_str()不起作用?

我有一个返回字符串的函数.但是,当我调用它并对其执行c_str()以将其转换为const char*时,它仅在我首先将其存储到另一个字符串时才起作用.如果我直接从函数中调用c_str(),它会将垃圾值存储在const char*中.

为什么会这样?感觉我在这里遗漏了一些非常基本的东西......

string str = SomeFunction();
const char* strConverted = str.c_str(); // strConverted stores the value of the string properly
const char* charArray= SomeFunction().c_str(); // charArray stores garbage value

static string SomeFunction()
{
    string str;
    // does some string stuff
    return str;
}
Run Code Online (Sandbox Code Playgroud)

c++ string

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

为什么局部变量的访问速度比lua中的全局变量快?

所以我正在阅读Lua 2nd Ed中的编程,我在这里看到了这一段:

尽可能使用局部变量是一种很好的编程风格.局部变量可帮助您避免使用不必要的名称来混淆全局环境.此外,对局部变量的访问比对全局变量的访问更快.

谁能解释为什么会这样?这个"功能"仅在Lua中,还是在其他语言中?(例如C,C++,Java)

lua global-variables local-variables

14
推荐指数
2
解决办法
5299
查看次数

JavaScript下一个兄弟姐妹?

有人可以告诉我如何循环div中的锚标签并找到下一个兄弟?

到目前为止我有这个.

var menu = document.getElementById('menu');
var links = menu.getElementsByTagName('a');
Run Code Online (Sandbox Code Playgroud)

如何循环链接?我可以.nextSibling用来查找下一个兄弟是否是div?

javascript dom

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

如何使用Joins PLINQ现有的LINQ查询?

我正在使用LINQ将两个DataSet相互比较以创建新行并更新现有行.我注意到完整的比较持续约1.5小时,并且两个核心中只有一个忙(任务管理器的CPU使用率为50-52%).我必须承认,我对并行LINQ完全不熟悉,但我认为它可以显着提高性能.

所以我的问题是,我应该如何以及应该并行化什么?

这些是原始查询(简化为要点):

'check for new data
Dim srcUnique = From row In src.Email_Total
                Select Ticket_ID = row.ticket_id, Interaction = row.interaction, ModifiedAt = row.modified_time

Dim destUnique = From row In dest.ContactDetail
                 Where row.ContactRow.fiContactType = emailContactType.idContactType
                 Select row.ContactRow.Ticket_ID, row.Interaction, row.ModifiedAt

'get all emails(contactdetails) that are in source but not in destination
Dim diffRows = srcUnique.Except(destUnique).ToList

'get all new emails(according to ticket_id) for calculating contact columns
Dim newRowsTickets = (From row In src.Email_Total
                     Join d In diffRows
                     On row.ticket_id Equals d.Ticket_ID _ …
Run Code Online (Sandbox Code Playgroud)

.net linq vb.net linq-to-objects parallel-extensions

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

lua中的https请求

我正在尝试使用lua脚本在启用SSL的服务器上检索页面.需要注意的是,服务器具有自签名证书.由受信任的CA颁发的证书没有问题.

local https = require("socket.http")
local resp = {}
local r, c, h, s = https.request{
    url = "https://my-server:443/example.php",
    sink = ltn12.sink.table(resp),
    protocol = "tlsv1"
}
Run Code Online (Sandbox Code Playgroud)

服务器返回:

错误请求您的浏览器发送了此服务器无法理解的请求.原因:您正在向支持SSL的服务器端口说明HTTP.请使用HTTPS方案访问此URL.

在服务器端,该请求在Apache ssl_access.log中生成此条目

192.168.0.150 - - [27/Nov/2011:16:32:07 +0100] "GET /" 400 529 "-" "-"
Run Code Online (Sandbox Code Playgroud)

此外,tcpdump显示在SYN-ACK握手之后,没有SSL 257 Client Hello发送.使用我的浏览器或wget使用相同的URL工作正常.

lua luasocket

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

PyMODINIT_FUNC和PyModule_Create之间的区别

如果我理解正确,

  1. Python 2.X PyModule_Create中的PyMODINIT_FUNC 已被Python3.X 取代
  2. PyObject*然而,两者都返回Python 3.X,模块的初始化函数必须返回PyObject*模块 - 即

    PyMODINIT_FUNC
    PyInit_spam(void)
    {
       return PyModule_Create(&spammodule);
    }
    
    Run Code Online (Sandbox Code Playgroud)

    而在Python2.X中,这不是必要的 - 即

    PyMODINIT_FUNC
    initspam(void)
    {
      (void) Py_InitModule("spam", SpamMethods);
    }
    
    Run Code Online (Sandbox Code Playgroud)

所以,我的理智检查问题是:

  • 我的理解是否正确?
  • 为什么要做出这种改变?

现在,我只是在尝试非常简单的Python C扩展案例.也许如果我做得更多,那么答案就很明显,或者如果我试图将Python嵌入其他东西......

python python-c-extension python-3.x

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

SSL_read因SSL_ERROR_SYSCALL错误而失败

我们已经使用openssl实现了tls.从服务器下载较大的数据SSL_ERROR_SYSCALL后收到一些数据后收到错误.对于较小的文件,我没有收到此错误,能够下载没有任何错误.对于较大的文件,ERR_get_error()显示为零.

我们正在使用linux和c ++框架.如何找到失败的原因?失败的原因是什么?请提供您的建议.

ssl openssl

13
推荐指数
4
解决办法
6万
查看次数