小编Har*_*han的帖子

static_cast和reinterpret_cast有什么区别?

可能重复:
什么时候应该使用static_cast,dynamic_cast和reinterpret_cast?

我在c ++中使用c函数,其中在c中作为void类型参数传递的结构直接存储相同的结构类型.

例如在C.

void getdata(void *data){
    Testitem *ti=data;//Testitem is of struct type.
}
Run Code Online (Sandbox Code Playgroud)

在c ++中做同样的事我使用static_cast:

void foo::getdata(void *data){
    Testitem *ti = static_cast<Testitem*>(data);
}
Run Code Online (Sandbox Code Playgroud)

当我使用 reinterpret_cast它做同样的工作,铸造结构

当我使用 Testitem *it=(Testitem *)data;

这也是一样的.但是如何通过使用它们中的三个来影响结构.

c c++ struct casting

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

通过Chrome扩展程序内容脚本发送带有Ajax调用的Cookie

我在为网站提供chrome扩展程序,该扩展程序提供api来检查用户是否已登录。该API用于GET请求。所以,当我不唱歌时,它给人的感觉。

{ status: "ok", authenticated: false}
Run Code Online (Sandbox Code Playgroud)

当我登录时,它给了我

{status : "ok", authenticated: true, id: 123}
Run Code Online (Sandbox Code Playgroud)

这在浏览器,Chrome扩展程序(例如Postman)和高级Rest Client上正常运行。但是,当我在chrome扩展程序背景中使用它时,它总是说我不是经过身份验证的用户。我发现我进行的ajax调用不会发送该域的Cookie,但是Chrome扩展程序(例如Postman或Advanced REST Client)确实会发送Cookie和XHR请求。

任何想法我怎么能使ajax一起发送cookie。

这是我的chrome扩展程序的ajax电话

$.ajax({
    method:"GET",
    //  xhrFields: {
       //   withCredentials: true
       // },
       // crossDomain: true,
        url:"http://test-staging.herokuapp.com/user/details",
        success: function(result){
          if(result.status=="ok"){
            alert(JSON.stringify(result));
        cb(result.authenticated);
      }
    },
    error: function(err){
      alert("unable to authenticate user "+JSON.stringify(err))
    }
  })
Run Code Online (Sandbox Code Playgroud)

更新1:

我可以从后台脚本中获取域Cookie的详细信息。现在我正在寻找如何通过ajax调用发送cookie?

cookies ajax google-chrome google-chrome-extension cors

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

如何在不传递类实例的情况下从静态成员函数调用非静态成员函数

我需要从同一个类的静态成员函数调用非静态成员函数.静态函数是一个回调函数.它只能接收作为数据的void,尽管我传递了char*.所以我不能直接为回调提供类实例.我可以将结构而不是char传递给回调函数.任何人都可以提供例如在静态成员函数中使用非静态成员函数的代码.并使用静态成员函数中的结构来使用类的实例来调用非静态成员函数?

c++ static struct class

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

使用x11在xerver上显示jpeg图像

我想在xserver中使用x11显示jpeg图像,我下载了imagemagick,但不知道怎么做...帮助我.我想将该图像显示为另一个窗口的子窗口.是否有任何xlib代码在窗口上显示图像?

x11 image xserver

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

将struct返回为void

我有一个函数返回一个void数据.我需要将它作为结构接收.例如.说一个结构widget_data.一个返回void数据的函数GetObjectData().

widget_data *wd=GetObjectData();
Run Code Online (Sandbox Code Playgroud)

GetObjectData()返回sd->data.

sd结构在哪里,数据void类型.

当我编译它时,我收到错误信息

invalid conversion from void* to widget_data*
Run Code Online (Sandbox Code Playgroud)

c++ structure

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

在 where claue of rails 中的数学运算

table(days_of_weeks) 包含 8 列,其中一个是 id,其余部分构成星期几(sun、mon、tue ...),其中星期几为 0 或 1

我需要找到一周中天数总和小于 3 的行。

作为一个 sql 语句,我可以写

select id  from days_of_week where (mon + tue + wed + thu + fri + sat + sun ) < 3;
Run Code Online (Sandbox Code Playgroud)

我正在尝试从 rails 查询它

DaysOfWeek.select(:id).where((:sun + :tue + :wed + :thu + :fri + :sat + :sun) < 3)
Run Code Online (Sandbox Code Playgroud)

它显示错误,因为它只是一个符号,我试过 .to_i ,但没有运气。

我知道我可以直接使用 rails 中的 sql 语句进行查询,但我想在 rails 中进行查询?道路。

任何解决方案

ruby sql ruby-on-rails-3

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

在成员函数中调用pthread_create?

我创建了一个包含声明的widget.h文件pthread_function,我想destroyWidget在widget.cpp中该类Widget 的成员函数中调用它.但总是显示错误.我将展示.cpp和.h文件.

widget.h文件


class Widget
{
public:
Widget();
void createWidget(int x,int y,int w,int h);
void showWidget();
int wid;
pthread_t thread;
int *incomingval,id;
void join();
Window win;
XEvent evt;
private:
void* destroyWidget(void* ptr);
Display *disp;
int screenNumber;
unsigned long white;
unsigned long black;
long eventMask;
GC gc;
int tbit;
int *incoming,val;
};

Run Code Online (Sandbox Code Playgroud)

现在是widget.cpp


Widget::Widget()
{
disp=XOpenDisplay( NULL );
screenNumber=DefaultScreen(disp);
white=WhitePixel(disp,screenNumber);
black=BlackPixel(disp,screenNumber);
eventMask=StructureNotifyMask;
tbit=0;
}

void Widget::createWidget(int x,int y,int w,int h)
{
wid=w;
win= XCreateSimpleWindow(disp,DefaultRootWindow(disp),x,y,w,h,1,white,black);
}

void Widget::showWidget() …
Run Code Online (Sandbox Code Playgroud)

c++ x11 pthreads

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