小编Ima*_*ist的帖子

C和C++:释放已分配指针的PART

假设我有一个分配给4096字节的指针.如何释放C中的最后1024个字节?在C++中怎么样?相反,如果我想释放 1024个字节,并保留其余部分(两种语言),该怎么办?如何从中间解除分配(在我看来,这需要将它分成两个指针,在解除分配的区域之前和之后).

c c++ memory-management

6
推荐指数
3
解决办法
1266
查看次数

有没有理由说C99不支持函数重载?

显然(至少根据gcc -std=c99)C99不支持函数重载.在C中不支持某些新功能的原因通常是向后兼容,但在这种情况下,我无法想到一个函数重载会破坏向后兼容性的情况.不包括这个基本功能的原因是什么?

c overloading c99

6
推荐指数
3
解决办法
3834
查看次数

用于演示项目的.NET托管

我是一名Java程序员,希望学习.NET,特别是C#和F#,以提高我的就业能力.为了实现这一目标,我正在创建一个包含一些演示项目的网站.我希望通过创建这个网站来学习C#/ F#和.NET框架,然后有一个完成的产品来自我宣传和展示潜在的雇主.

我需要的是一个好主人.

我的优先事项是成本,稳定性和能力.我可能愿意支付高达10美元/月左右的费用,但我真的不想支付超过5美元/月的费用.稳定性和性能必须合理.我想访问所有常用的.NET工具(SQLServer,LINQ,C#,F#,VB,MVC,我可能合理需要的其他任何我还不知道的东西).基本上我不知道我想要什么,除了我的项目随着我的专业知识的增长而增长的空间.

编辑:有些人担心我的项目准备好之前我不应该花时间.但是,我希望能在不到一个月的时间内完成它,所以我并不担心在此之前付出时间.

.net c# sql-server hosting f#

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

在哈希之后在URI中存储数据

我希望在哈希之后的URI中存储键/值对,以便在客户端使用,如下所示:

http://www.foo.com/index.html#foo=bar&baz=quux
Run Code Online (Sandbox Code Playgroud)

是否已经存在已经存在的解决方案,或者我应该自行推出?我已经在使用JQuery了,所以特别欢迎JQuery解决方案.

我最初的想法是使用正则表达式,但这很复杂,特别是当你需要转义键和值时.

编辑:让我澄清一下.我想做这样的事情:

foo = hash.get('foo');
hash.set('bar','baz');
Run Code Online (Sandbox Code Playgroud)

ajax jquery uri url-rewriting fragment-identifier

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

有没有一种方法可以在HTML / JavaScript中指定多个图像源?

有没有一种方法可以告诉浏览器查看图像URL列表,直到找到可用的图像URL?纯HTML将是首选,但是我猜想JavaScript在这里可能是必要的(我已经在使用JQuery,所以这不是问题)。

编辑:感谢您的回答!我将添加一些说明:

  1. “作品”是指可以显示图像。
  2. 我特别想在客户端执行此操作。

html image

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

如何在C和C++中分配和释放*array*内存?

我的问题具体是关于数组,而不是对象.

上有几个问题对SO malloc()/ free()new/ delete,但他们都专注于如何使用它们的差异.我理解它们是如何使用的,但我不明白底层差异会导致使用上的差异.

我经常听到C程序员说malloc()并且free()操作成本很高,但我从来没有听说过C++程序员这样说newdelete.我还注意到C++没有与C相对应的操作realloc().

如果我正在写一个相当于C++的vector类,我想,以避免调整它的时候,但复制整个数组newdelete你必须复制.在C中,我会简单地说realloc().值得注意的是,realloc()可能只是复制整个数组,但我的印象是它使用相同的指针并为其分配更少的空间,至少在调整大小时.

所以我的问题是,如何通过使用的算法malloc(),并free()从那些使用不同的newdelete.更具体地说,为什么C方式有一个更昂贵的耻辱,为什么C++方式不允许在不复制的情况下调整大小?

c c++ arrays memory-management

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

添加到标准Python API涉及什么?

如果我想为Python标准API贡献一个模块,那么需要采取哪些步骤以及预期会有哪些维护?例如,我有一个封装自动更新功能的模块,类似于Java的JNLP.

python api

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

在.NET中运行DOS命令

我有一组命令,如:

C:
cd Project
testproj.exe
Run Code Online (Sandbox Code Playgroud)

我的系统从远程系统逐个获取这些命令.我需要在从远程系统接收命令时执行cmd.exe中的每个命令.如何使用.NET执行这些?

我还需要将testproj.exe的结果返回给远程机器.运行命令后如何获取结果?

.net c# dos

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

编程语言如何保持向后兼容性并修复设计错误?

如你所知,如果你已经阅读了我的其他一些问题,我正在编写一种编程语言.我最关心的一个问题是许多语言都存在向后兼容性问题,我希望避免这些问题.一方面,我在Python社区中看到了很多关于切换到Python 3000的痛苦和痛苦,因为它打破了向后兼容性.另一方面,我见过C++,它从束缚到C语法开始,从未真正恢复过; 即C的语法不适合许多C++结构.

我的解决方案是允许程序员向文件添加编译器指令,该指令将告诉编译器在编译时使用哪种语言版本.但我的问题是,其他语言如何处理这个问题?是否有其他解决方案已经尝试过,这些解决方案有多成功?

programming-languages

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

更好的词典名称

我正在设计一种编程语言,所以我一直在考虑基类型的命名方式.

"词典"对于字典来说似乎是个坏名字.它们不是有组织的单词列表及其定义; 他们不处理单词,他们没有定义,也不是列表.他们与"词典"这个词唯一模糊的关联就是人们执行"查找"就像使用纸质词典一样(这就像把它称为"电话簿"一样好).

"HashTable"描述了可能发生变化的实现.

"关联数组"(来自JavaScript)获得了分数,因为"关联"对于它的作用是一个很好的形容词,但是因为"数组"也描述了一个实现,所以会失去分数,更糟糕的是,它描述的不准确.

"键/值对集"似乎最准确,但它太长而无用(你真的想每次输入"KeyValuePairSet"吗?).

如果我们将"键/值对"称为"关联",我们将获得"AssociationSet".这对我来说是最好的,但不会跳出来作为正确的答案; 它仍然很长,"设置"仍然感觉有点不对劲."AssociationList"更糟糕("list"意味着排序,而不是那里).我简单地只考虑了"关联",但这听起来更像是我会命名一个实例而不是类."RelationSet"和"PairSet"更短但描述性更低(两者都没有捕获到它是一种单向关系键值的事实;键的值在字典的上下文中没有意义).

任何想法可能是一个更好的词典名称?

dictionary naming

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

Python:重新找到最长的序列

我有一个随机生成的字符串:

polymer_str = "diol diNCO diamine diNCO diamine diNCO diamine diNCO diol diNCO diamine"
Run Code Online (Sandbox Code Playgroud)

我想找到最长的"diNCO二醇"序列和最长的"diNCO二胺"序列.因此,在上述情况下,最长的"diNCO二醇"序列为1,最长的"diNCO二胺"为3.

我将如何使用python的re模块进行此操作?

提前致谢.

编辑:
我的意思是给定字符串的最长重复次数.因此,含有"diNCO二胺"的最长的链是3:
二醇二-NCO二胺二-NCO二胺二-NCO二胺硝基二醇二硝二胺

python regex

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

C - 缺点中的传递参考?

大多数高级语言(Python,Ruby,甚至Java)都使用pass-by引用.显然,我们在C中没有引用,但我们可以使用指针来模仿它们.这样做有一些好处.例如:

int findChar(char ch, char* in)
{
    int i = 0;
    for(i = 0; in[i] != '\0'; i++)
        if(in[i] == ch)
            return i;
    return -1;
}
Run Code Online (Sandbox Code Playgroud)

这是一个常见的C范例:通过返回一些错误值来捕获异常或错误的情况(在这种情况下,-1如果字符不在字符串中则返回).

这个问题是:如果你想支持多于2^31 - 1字符的字符串怎么办?显而易见的解决方案是返回一个unsigned int但不适用于此错误值.

解决方案是这样的:

unsigned int* findChar(char ch, char* in)
{
    unsigned int i = 0;
    for(i = 0; in[i] != '\0'; i++)
        if(in[i] == ch)
        {
            unsigned int index = (unsigned int*) malloc(sizeof(unsigned int));
            *index = i;
            return index;
        }
    return NULL;
}
Run Code Online (Sandbox Code Playgroud)

有一些明显的优化,我没有为简单起见,但你明白了; 返回NULL作为您的错误值. …

c

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