小编oop*_*psi的帖子

C++函数参数通过值传递

我知道当你以这种方式调用函数时:

foo(MyClass a)
Run Code Online (Sandbox Code Playgroud)

该对象a正在通过值传递,这意味着它正在被复制.

我的问题是它是如何被复制的?说我的类没有复制构造函数,所以如果使用浅复制传递它,那么对象可能会在函数内部发生变化?

c++ copy-constructor

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

节点js - 为什么3连接?

考虑node.js的这个小服务器

var net = require ('net');

var server = net.createServer(function (socket) {

    console.log("Connection detected");

    socket.on('end', function() {
        console.log('server disconnected');
    });

    socket.write("Hello World");
    socket.end();
});

server.listen("8888");
Run Code Online (Sandbox Code Playgroud)

当我在Macbook Pro上使用Chrome测试服务器时,我在控制台中收到三次"检测到连接"消息.

我知道一个用于连接,另一个用于favicon,但第三个是什么呢?

sockets networking tcp google-chrome node.js

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

节点js.发送包含图像的html

我使用节点js构建了一个简单的服务器.我希望发送一个包含图像的html.

好的,所以我知道如何发回一个html文件.我知道如何发回图像.

当我用其中的html响应发送<img src = 'green2.jpg'>时,页面加载了一个损坏的图像.

有任何想法吗?

相关代码:

var net = require ('net');
var url = require('url');
var fs = require('fs');

var server = net.createServer(function (socket) {
    socket.on('end', function() {
        console.log('server disconnected');
    });

    socket.on('data', function(data) {
        get();
    });

    var get = function (parse) {
        fs.readFile('example.html',  function(err, data) {
            if (err) throw err;
            socket.write('HTTP/1.0 200 OK\r\nDate: Fri, 31 Dec 1999 23:59:59 GMT\r\nContent-Type: text/html\r\n\r\n');
            socket.write(data);
            socket.end();
        });
    }
});

server.listen("8888");
Run Code Online (Sandbox Code Playgroud)

html node.js

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

C++ operator =问题

我有一个MyPoly类,我实现了自己的相等运算符(=).当我尝试这个代码一切正常,我的实现=被调用.

MyPoly mp = MyPoly(arr , 4); 

MyPoly copy;
copy = mp;
Run Code Online (Sandbox Code Playgroud)

但是当我写这个:

MyPoly mp = MyPoly(arr , 4); 

MyPoly copy = mp;
Run Code Online (Sandbox Code Playgroud)

它不使用我的implements =,然后当调用析构函数时,我得到一个运行时错误.

有人能解释为什么这些代码不同吗?

c++ operators

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

是否删除了Lua 5.x中upvalue的%

我正在从一本书中学习Lua,这本书有点陈旧.我试过在网上搜索,但由于#在我的搜索中使用了这个标志,我得到了令人困惑的结果.

它说,为了使用upvalue你需要使用%标志.

但是当我在我的代码中写它时,我得到一个错误.

Account.new = function (starting_balance)
  local self = {}
  local balance = starting_balance

  self.withdraw = function (v)
    %balance = %balance - v;
  end
  return self
end
Run Code Online (Sandbox Code Playgroud)

错误是: unexpected symbol near '%'

是否有一种新的方法来处理Lua 5.x中的upvalues?

lua closures

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