小编use*_*073的帖子

int指针是一个int数组吗?

我一直在关注一些声明int指针的例子

int *myInt;
Run Code Online (Sandbox Code Playgroud)

然后将该指针转换为数组

myInt = (int*)malloc(1024);
Run Code Online (Sandbox Code Playgroud)

这检查出来

myInt[0] = 5; 
cout << myInt[0]; // prints 5
myInt[1] = 7;
cout << myInt[1]; // prints 7
Run Code Online (Sandbox Code Playgroud)

我认为一个int指针是指向int的指针,而不是其他任何指针.我知道指向字符串的指针只是指向字符串的第一个字符,但它看起来像是在使用一组int的同类事件.但是,如果我们想要的是一个int数组,为什么不只是创建一个int数组而不是指向int的指针?

顺便说一下,我对它在C而不是C++中是如何工作感兴趣.这是在C++文件中,但相关代码在C中.

c

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

在数组中获取与索引相反的元素的最佳方法是什么?

说我有数组

{0, 1, 2, 3, 4}
Run Code Online (Sandbox Code Playgroud)
  • 索引0和4是相反的
  • 索引1和3相反
  • 索引2的对立面未定义

要么

 {0, 1, 2, 3, 4, 5}
Run Code Online (Sandbox Code Playgroud)
  • 索引0和5是相反的
  • 索引1和4相反
  • 索引2和3相反

我记得看到过一种非常聪明的方法。就像是

i%array.length 
Run Code Online (Sandbox Code Playgroud)

algorithm

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

你如何使用node-irc登录?

设置非常简单,工作正常.但在文档中没有任何地方说它如何

/msg nickserv identify <pword>
Run Code Online (Sandbox Code Playgroud)

我能找到的最接近的是

client.join('#yourchannel yourpass');
Run Code Online (Sandbox Code Playgroud)

或者可能

For any commands that there aren’t methods for you can use the send() method which sends raw messages to the server
client.send('MODE', '#yourchannel', '+o', 'yournick');
Run Code Online (Sandbox Code Playgroud)

但似乎都没有完成工作.

irc node.js

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

有没有一种好方法可以动态选择合适的平台?

因为这是我使用的计算机,它有AMD,NVIDEA和Intel平台.我怎么知道哪个是在用户计算机上使用的正确平台?我现在拥有的是一个循环,它试图为每个平台创建一个平台,设备,上下文和队列.如果它在任何时候失败,它会尝试下一个平台.

    readKernel();

    numPlatforms = getNumPlatforms(); TEST
    platforms = getPlatforms(); TEST
    for(int i = 0; i < numPlatforms; i++)
    {
        numDevices = getNumDevices(platforms[i]); TEST_AND_CONTINUE
        devices = getDevices(platforms[i], numDevices); TEST_AND_CONTINUE
        context = createContext(platforms[i], devices); TEST_AND_CONTINUE
        queue = getCommandQueue(context, devices[0]); TEST_AND_CONTINUE

        // all setup. can post info here ->  getDeviceInfo(devices[0]);
        break; 
    }
    program = createProgram(context, source); TEST
    buildProgram(program); TEST
    kernel = buildKernel(program, appName); TEST
Run Code Online (Sandbox Code Playgroud)

这是一个很好的方法,还是有更好的方法?

opencl

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

为什么可以从同一方法的覆盖版本调用方法的基本版本

我很困惑为什么C#让我这样做:

基类

public virtual void OnResultExecuted(ResultExecutedContext filterContext)
{

}
Run Code Online (Sandbox Code Playgroud)

派生类

public override void OnResultExecuted(ResultExecutedContext filterContext)
{
    base.OnResultExecuted(filterContext);
}
Run Code Online (Sandbox Code Playgroud)

这段代码没有问题.但它是如何调用base.OnResult当这是我重写的方法时执行了?

c#

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

插入 contenteditable 时将光标定位在元素之后?

我希望能够将包裹在跨度中的图像插入到可编辑的 div 中。我可以做到这一点没问题,但是当我开始打字时,在图像之后,它会将我的文本插入到图像跨度中。如何在刚刚插入的跨度之后定位光标?

是我的小提琴(单击“在光标处添加图像”并将文本输入到可编辑的内容中。观察文本在图像父级跨度内。)

这是我的图像插入功能:

function insertElementAtCursor(elm) {
    var sel, range, html;
    if (window.getSelection) {
        sel = window.getSelection();
        if (sel.getRangeAt && sel.rangeCount) {
            range = sel.getRangeAt(0);
            range.deleteContents();
            range.insertNode(elm);
            placeCaretAfterNode(elm);
            updateTextArea();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

contenteditable

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

你如何处理基本的Websocket框架

我正在编写自己的Web套接字实现,而不是socket.io等.

我有一个很好的握手,但是当客户端发送到服务器时,我无法弄清楚如何将这些数据变成有用的东西.它是一个对象吗?它是一个字符串?Docs说它是V8堆之外的一组原始内存位置....?

在此输入图像描述

功能示例(客户端是硬编码字符串)

var http = require("http");
var crypto = require("crypto");
var server = http.createServer();
server.on("upgrade", function (req, socket, upgradeHead) {
    var crypto = require("crypto");
    var shasum = crypto.createHash("sha1");
    shasum.update(req.headers["sec-websocket-key"]);
    shasum.update("258EAFA5-E914-47DA-95CA-C5AB0DC85B11");
    var hash = shasum.digest("hex");
    var myVal = new Buffer(hash, "hex").toString('base64');

    var head = "";
    head += "HTTP/1.1 101 Switching Protocols\r\n";
    head += "Connection: Upgrade\r\n";
    head += "Upgrade: WebSocket\r\n";
    head += "Sec-WebSocket-Accept: " + myVal + "\r\n\r\n";

    socket.setEncoding("utf8");
    socket.write(head);

    socket.ondata = function (data, start, end) {
        var data = data.toString("utf8", …
Run Code Online (Sandbox Code Playgroud)

websocket node.js

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

你可以在堆栈上放多少数据?

我尝试在堆栈上创建一个~975KB的数组,然后崩溃了.

const int size = 500;
cout << (sizeof(float)*size*size)/1024 << endl;
float myArray[size*size]; // crash
Run Code Online (Sandbox Code Playgroud)

这似乎是一个非常小的空间.在初始化变量之前,有没有办法知道有多少空间可用(总计和当前空间)?

c++ visual-c++

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

为什么使用GetDC(0)绘制图形; 一旦窗户移过它们就会消失?

如果使用以下代码绘制矩形,则只要有任何内容移动,矩形就会消失.

#include "stdafx.h"
#include <Windows.h>
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    HDC screenDC = ::GetDC(0);
    ::Rectangle(screenDC, 200, 200, 300, 300);

    int exit; cin >> exit;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我的Rectangle被破坏以便我可以重新绘制时,有没有办法接收回调?有什么办法可以改变矩形的颜色吗?是否有一个很好的综合教程涵盖了这个?

c++ winapi

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

如何在 Qt Creator 项目中包含 OpenCL?

我认为这是一个简单的问题,但我无法弄清楚。在 Visual Studio 中,您可以通过项目属性对话框添加包含目录、库目录和依赖项 (OpenCL.lib)。

但是在 Qt Creator 中,它允许您添加外部库,但它不能帮助您设置头文件,并且键入头文件的绝对路径不起作用。将头文件添加到.pro文件似乎也不起作用。

所以我添加了外部库

添加库对话框

然后我尝试在以下位置添加头文件的路径INCLUDEPATH

INCLUDEPATH += $$PWD/../../../../../../Program Files (x86)/AMD APP/lib/x86    
               $$PWD/../../../../../../Program Files (x86)/AMD APP/include
Run Code Online (Sandbox Code Playgroud)

代码截图

这次它给出的错误是:

错误截图

但我也收到了:

"Can't open File.obj" // this happens if I just add the External Library and then click build
"No such file or directory 'C:/Program Files (x86)/AMD APP/include/CL/cl.h'" // but that file does exist.
Run Code Online (Sandbox Code Playgroud)

解决方案

对于任何需要它的人来说,最终工作的 .pro 文件是

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = clTest100
TEMPLATE = app


SOURCES += …
Run Code Online (Sandbox Code Playgroud)

qt qt-creator

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

标签 统计

c++ ×2

node.js ×2

algorithm ×1

c ×1

c# ×1

contenteditable ×1

irc ×1

opencl ×1

qt ×1

qt-creator ×1

visual-c++ ×1

websocket ×1

winapi ×1