问题列表 - 第41297页

我可以在堆上创建新结构而无需定义构造函数吗?

我知道c ++中的结构和类之间的差异很小(两个?).尽管如此,我已经被指示使用结构来定义简单的小东西,例如可能不需要成员函数的节点(尽管事实上我可以在技术上包括include成员函数).例如,我可以将节点定义为链表类的私有成员,如下所示:

class LinkedList {
  struct Node {
    MyObject *data;
    Node *next;
  };

  Node *list;

};
Run Code Online (Sandbox Code Playgroud)

但是,在这种情况下,是否可以在堆上创建此结构的新实例,还是需要定义构造函数?有没有办法在没有new运算符的情况下在堆上创建东西?或者,更好的是:我是否没有必要紧紧抓住我不应该为结构定义成员函数的概念?我应该继续定义一个吗?或者如果我这样做,是否会承认Node真的应该是一个内部类,而不是内部结构?我真的应该担心这些事吗?哪个更具可读性?

谢谢!

c++ heap struct memory-management coding-style

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

在Python中生成置换词列表的子集

我有一个单词列表,我需要生成所有这些可能的排列,但需要注意一点.

我目前使用以下代码:

from itertools import permutations

wordlist = ["word1", "word2", "word3"]

for perm in permutations(wordlist):
    print "".join(perm)
Run Code Online (Sandbox Code Playgroud)

它给出了输出:

word1word2word3
word1word3word2
...
word3word2word1
Run Code Online (Sandbox Code Playgroud)

但是我还需要它来打印这些单词的子集,例如:

word1    
word1word2
word2word1
...
Run Code Online (Sandbox Code Playgroud)

但我对如何做到这一点没有丝毫想法.我该从哪里开始?我该怎么读?

python permutation subset python-itertools

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

这个登录系统安全吗?

我只是想知道这个登录系统是否安全,因为我曾计划将它用作学习工具.我不想用任何会教我错误方法的东西.有人可以帮忙吗?

https://github.com/ivannovak/jpmaster77-s-Login-System-

php security login

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

将LLVM JIT代码链接到外部C++函数

我正在编写一个LLVM脚本引擎,JIT用自定义语言编写脚本代码.我的问题是我无法调用外部函数(即使C99 erf()函数失败).

例如,如果我extern"C"erf函数,

extern "C" double erft(double x){
return erf(x);
}
Run Code Online (Sandbox Code Playgroud)

并创建一个外部链接功能

std::vector<const Type*> Double1(1,Type::getDoubleTy(getGlobalContext()));
FunctionType *FT = FunctionType::get(Type::getDoubleTy(getGlobalContext()),Double1,false);
Function *erft = Function::Create(FT,Function::ExternalLinkage,"erft",TheModule);
Run Code Online (Sandbox Code Playgroud)

使用erft(0.0)运行脚本时出现以下错误消息:

LLVM错误:程序使用的外部功能'erft'无法解决!

手动执行映射,

void ExecutionEngine::addGlobalMapping( const GlobalValue *  erfF, void *  erft); 
Run Code Online (Sandbox Code Playgroud)

会得到以下错误:

在类之外的`void llvm :: ExecutionEngine :: addGlobalMapping(const llvm :: GlobalValue*,void*)'的声明不是定义

显然我做错了.任何帮助将非常感激

linker jit llvm

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

解释语言是否安全?

例如,我有一个PHP脚本,其中包含源代码.我将它上传到我的网络服务器.出于某种原因,某些攻击者可以从我的Web服务器下载该文件.他们可以阅读和分析我的源代码.

所以我认为这使得解释语言(如php ......)与编译语言(仅包含二进制形式)相比并不安全.

我想听听有关这方面的不同意见.

php security compilation

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

如何在jQuery中识别所选的选择器?

$('#select_id1, #select_id2, #select_id3').change(function() {
    // If '#select_id1' has changed, 'str' should be equal to 'select_id1'.
    // If '#select_id2' has changed, 'str' should be equal to 'select_id2'.
    // If '#select_id3' has changed, 'str' should be equal to 'select_id3'.
    str = <what should be here ?>
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

iPhone:获取附近的地方/地点列表

我一直想知道,facebook所使用的列表是什么?是foursquare的吗?

如果是这样,它是如何工作的?我可以连接到foursquare的API并使用坐标或类似的东西到达附近的地方吗?

非常感谢!

iphone gps cocoa-touch

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

将透明的.PNG图像模糊到屏幕上

嗨,我有一个图像,上面画着黑色矩形,背景是透明的.该文件保存为png(clear.png).然后我有另一个图像,它只是一个固定的红色背景,保存为jpeg(background.jpeg).我试图做的是使clear.png中的黑色矩形显示在纯红色背景图像的顶部.

这就是我所做的......

/*Transparent image*/
#include "SDL/SDL.h"
#include "SDL/SDL_image.h"
#include <iostream>
using namespace std;
int main(int argc,char *argv[]){
    SDL_Surface *screen = NULL;
    SDL_Surface *background = NULL;
    SDL_Surface *transparentimage = NULL;

    if ( SDL_Init(SDL_INIT_EVERYTHING) == -1){
        cout <<"could not start sdl" << endl;
    }

    screen = SDL_SetVideoMode(640,480,32,SDL_SWSURFACE);
    if ( screen == NULL){
        cout<<"could not create the screen" << endl;
    }

    background = IMG_Load("background.jpeg");
    if ( background == NULL){
        cout<<"could not load background" << endl;
    }

    transparentimage = IMG_Load("clear.png"); …
Run Code Online (Sandbox Code Playgroud)

c++ transparency gcc sdl background-image

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

Windows phone 7选择ListBox动画

我有一个ListBox在我的应用程序,包含TextBlockS ^显示的一些数据.该TextBlocks为设置当用户点击它们时触发事件.

<ListBox x:Name="ListBoxCategories"
         Margin="0,0,-12,0"
         ItemsSource="{Binding ListBoxItems}">
  <ListBox.ItemTemplate>
    <DataTemplate>
      <StackPanel Margin="0,0,0,17"
                  Width="432">
        <TextBlock Text="{Binding ItemName}"
                   TextWrapping="Wrap"
                   MouseLeftButtonDown="TextBlock_MouseLeftButtonDown"
                   Style="{StaticResource PhoneTextLargeStyle}"
                   Foreground="{StaticResource PhoneAccentBrush}" />
      </StackPanel>
    </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)

这可以按照我的要求运行,但如果我可以在用户点击某个项目时提供某种动画,那就太棒了.例如,当您从电话的地址簿中选择联系人并单击其中一个操作(例如"发送电子邮件"或"呼叫移动")时,文本会在执行所选操作之前暂时移动.有没有办法做到这一点?

windows-phone-7

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

ThreadPools与自己的线程,用于长时间运行的进程

我们有一些长期运行的业务流程,这些流程是通过在WS 2008 R2上以IIS(集成模式)运行的WCF服务启动的.这些业务流程通常涉及与SQL Server后端的大量交互.我们创建了一个自定义任务队列实现,通过初始服务调用将请求排队,然后根据优先级执行.此执行可能需要很长时间才能完成(极端20-30分钟).然后,客户端可以向服务器查询其自己的后台任务的进度.

在我们当前的实现中,任务在一个单独的线程上触发,而不是从ThreadPool执行.这是因为阅读了使用ThreadPool不运行长时间运行任务的建议,以防止使ASP.NET请求无法提供服务.我们通过对可以同时执行的后台任务的数量设置上限来控制生成的线程数.这样我们就可以尝试控制CPU上的负载并防止过多的线程上下文切换.虽然所有这一切都在发生,但我们当然仍然需要为应用程序提供正常的"在线"请求.

在阅读了Thomas Marquardt撰写的这篇文章后,我担心我们没有使用ThreadPool,因为我们无法获得内置调优启发式的好处.我们已经通过挂钩ApplicationEnd事件并取消长时间运行的任务来解决关闭问题.所以我的问题是,我们应该切换到使用ThreadPool吗?这些线程被长时间捆绑了怎么办?如果我正确理解Thomas,他说这无关紧要,因为ThreadPool会调整自己以创建更多请求以服务于正常的在线操作?我也读过这个覆盖相同理由的StackOverflow问题,但我仍然不确定前进的方向.

asp.net iis-7 threadpool

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