问题列表 - 第26899页

在C#中使用弱引用的GC成本?

另一个问题中,斯蒂芬C说:

第二个问题是使用弱引用存在运行时开销.显而易见的成本是创建弱引用和调用get.不太明显的成本是每次GC运行时都需要进行大量的额外工作.

那么弱参考的GC的成本到底是多少?它需要做多少额外的工作,以及它有多大的交易?我可以做一些有根据的猜测,但我对实际的机制很感兴趣.

c# garbage-collection weak-references

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

在C#中通过引用或不引用传递对象

假设我有一个这样的类:

public class ThingManager {
    List<SomeClass> ItemList;

    public void AddToList (SomeClass Item)
    {
        ItemList.Add(Item);
    }

    public void ProcessListItems()
    {
        // go through list one item at a time, get item from list,
        // modify item according to class' purpose
    }
}
Run Code Online (Sandbox Code Playgroud)

假设"SomeClass"是一个相当大的类,包含非常复杂的方法和成员(例如,List <> s和数组),并且可能存在大量的类,因此不会在程序周围复制大量数据重要.

"AddToList"方法中是否应该包含"ref"?为什么?

这就像试图重新学习C中的指针一样;-)(这可能就是为什么我感到困惑,我试图将它们与指针联系起来.在C中它是"SomeClass*Item"和一个列表" SomeClass*"变量"

c# parameter-passing pass-by-reference

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

Visual Studio 2010启动时出错"-832"不是属性"width"的有效值

我的Visual Studio 2010今天早上工作正常(我在Paralles下的XP sP3中运行)我重新启动整个笔记本电脑,我开始收到此错误.我甚至卸载了VS2010,删除了我的文档区域中的Visual Studio 20010目录并重新安装它,每次我尝试启动时它仍然会给我错误.我不确定stackoverflow是否是可以问它的地方,但我在我的智慧结束时试图再次运行(试图避免重建整个Virtual PC)有谁知道如何解决这个问题?

visual-studio-2010

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

Mac OS X:使用PID获取任意运行应用程序的详细过程信息(特别是其启动参数)

我试图检测特定应用程序何时启动.

目前我正在使用NSWorkspace,注册"确实启动应用程序"通知.我还使用该runningApplications方法来获取应用启动时当前正在运行的应用.

对于大多数应用程序,应用程序包的名称就足够了.我有一个"已知应用程序"的plist,我用通知中传递的名称交叉检查.

这可以正常工作,直到您遇到一个应用程序作为代理,使用命令行参数启动另一个应用程序.

示例:Mac上新发布的Portal没有专用的应用程序包.Steam可以创建一个快捷方式,只需hl2_osx使用-game参数和portal参数启动应用程序即可.

由于更多基于源的游戏正在前往Mac,我想他们将使用相同的方法启动,有效地运行hl2_osx带有-game参数的应用程序.

有没有一种很好的方法来使用Cocoa API获取参数列表(及其参数)?

NSProcessInfo 接近,提供`-arguments'方法,但只为自己的进程提供信息......

NSRunningApplication 提供了使用PID获取任意应用程序信息的能力,但没有命令行参数...

有没有什么能填补两者之间的空白?

我试图不去产生NSTask运行ps -p [pid]和解析输出的路线......我更喜欢更高级别的东西.

cocoa pid process objective-c command-line-arguments

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

PHP:使用方法作为回调

我试图使用array_walk_recursive某些东西,并希望使用其中一个类'方法作为回调,所以尝试:

  array_walk_recursive($TAINTED, "$this->encode()");
Run Code Online (Sandbox Code Playgroud)

其变化都失败了.我最终安顿下来:

array_walk_recursive($TAINTED, 'className::encode');
Run Code Online (Sandbox Code Playgroud)

这是有效的,但我在这里读到,以这种静态方式调用类方法通常被认为是不好的做法.或者这是必要的情况之一?

那么,这是正确的方法吗,还是有办法放入回调函数而不必依赖它作为静态类方法?

php oop

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

比较 C++ 输入与数组值

在过去的几个月里,我仍然缓慢但肯定地在 C++ 中跋涉,我遇到了一个我一直想弄清楚的障碍。我试过询问/阅读/搜索,但我永远找不到合适的答案。也许只是因为这个问题有点难问。

我想要做的是在我的程序结束时,让结束序列将输入值与数组中的值进行比较。我必须循环比较序列吗?有没有更简单的方法来解决这个问题?

#include <iostream>
#include <string>
using namespace std;

int main () {

    string YesAnswers[5] = {"Y", "YES", "yes" "y"};
    string Name;
    string YN;

    do {
        cout << "Enter your name: ";
        getline(cin, Name);

        cout << "Your name is "<< Name;

        cout <<"\nIs this correct? Y\N: ";
        cin >> YN;

    } while(YN == YesAnswers);

    system("Pause");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++

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

Android - 在Gridview中显示图像下方的图像标题

我正在使用Android开发者网站上的"网格视图"示例:

http://developer.android.com/resources/tutorials/views/hello-gridview.html

我想在每张图片下方显示一个小文字标题.

有人可以举例说明如何实现这一目标(即需要编辑的内容)?

谢谢!

android

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

将json数据转换为附加方法的对象的最简单方法?

将包含对象数据的json转换为附加方法的实际对象的最快捷,最简单的方法是什么?

举例来说,我获得了一个带有一系列水果对象的水果碗的数据,这些水果对象又包含一系列种子,因此:

{"fruitbowl": [{
     "name": "apple", 
     "color": "red", 
     "seeds": []
   },{
     "name": "orange", 
     "color": "orange", 
     "seeds": [
        {"size":"small","density":"hard"},
        {"size":"small","density":"soft"}
    ]}
}
Run Code Online (Sandbox Code Playgroud)

这一切都很好,但在客户端我们用这种水果做的东西,比如吃它和种植树木......

 var fruitbowl = []
 function Fruit(name, color, seeds){
     this.name = name
     this.color = color
     this.seeds = seeds
     this.eat = function(){
         // munch munch
     }
 }
 function Seed(size, density){
     this.size = size
     this.density = density
     this.plant = function(){
          // grow grow
     }
 }
Run Code Online (Sandbox Code Playgroud)

我的ajax的成功例程目前正在循环遍历事物并依次构造每个对象并且它还没有处理种子,因为在我循环遍历种子构造函数之前我正在思考

有没有更好的方法?

    success: function(data){           
        fruitbowl.length = 0
        $.each(data.fruitbowl, function(i, f){
            fruitbowl.push(new Fruit(f.name, f.color, f.seeds))
        })
Run Code Online (Sandbox Code Playgroud)

我没有探索如何循环遍历对象并附加所有方法.那会有用吗?

javascript jquery

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

重构/重写代码还是继续?

我刚刚完成了一段复杂的代码.它适用于规范,它符合性能要求等,但我对此感到有点担心,并正在考虑重写和/或重构它.我应该这样做(花费时间,否则可能花在用户实际会注意到的功能上)?

我对代码感到焦虑的原因是:

  1. 类层次结构复杂且不明显
  2. 有些课程没有明确的目的(他们做了许多无关的事情)
  3. 有些类使用其他内部(它们被声明为友元类)来绕​​过抽象层以获得性能,但我觉得它们通过这样做打破了封装
  4. 有些类会泄漏实现细节(例如,我之前将地图更改为哈希映射,并发现自己必须修改其他源文件中的代码才能使更改生效)
  5. 我的内存管理/池化系统有点笨拙而且不够透明

它们看起来是重构和清理代码,帮助未来维护和扩展的极好理由,但可能非常耗时.此外,我永远不会对我写的任何代码感到非常满意......

那么,stackoverflow会怎么想呢?清理代码或处理功能?

c++ refactoring code-design

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

获取所选标签的标题

有没有办法从Google Extension获取页面标题的价值?

html javascript google-chrome title google-chrome-extension

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