小编Dre*_*kes的帖子

在Matlab中声明整个范围的变量

我一直在研究GUI,其中许多函数使用该对象.目前,该对象在gui中的每个子函数中被声明为全局变量.定时器也使用此对象,因此直接引用fun1(myobject)并不总是正常工作.

function fun1
global myobject
...
function fun2
global myobject
...
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种更智能的方法来为GUI m文件的整个范围声明此变量.我试过在函数之外声明它但它没有用.

myobject = 1
function fun1
...
function fun2
...
Run Code Online (Sandbox Code Playgroud)

matlab

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

为什么当一个相同类中的字段没有时,结构中的字段会丢失其值?

我有一个带有一个字段的结构,它失去了它的价值.我可以将字段声明为静态并解决问题.我也可以将struct更改为class(不改变任何其他内容),这也解决了问题.我只是想知道为什么会这样?

.net c# struct field

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

如何正确处理类中使用的字节数组?

我有一个StateObject类,用于存储来自客户端和服务器的数据.

这是代码:

 public class StateObject : IDisposable 
    {
        public StateObject()
        {

        }

        public String serviceName = ConfigurationManager.AppSettings["ServiceName"].ToString().Trim();  //Holds the service name 
        public Socket clientSocket; //socket for communication with the client

        public int id; //client id  (A running sequence to keep track of StateObjects)

        public string leaseId; //holds the leaseId that is used to communicate with the server

        public bool isLeaseIdValid = false;

        public string requestQuery = string.Empty;

        public IPEndPoint serverEP;

        public Socket serverSocket; //Socket for communication with the server

        public …
Run Code Online (Sandbox Code Playgroud)

.net c# sockets memory-leaks

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

C#TryParse

char typeClient = ' ';
bool clientValide = false;
while (!clientValide)
{
     Console.WriteLine("\nEntrez le type d'employé (c ou g) : ");
     clientValide = char.TryParse(Console.ReadLine(), out typeClient);
     if (clientValide)
         typeClient = 'c';
}
Run Code Online (Sandbox Code Playgroud)

我想这样做它不会退出,除非char是'g'或'c'帮助!:)

c# tryparse

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

按列列出<string []>列表

我有列表,我想按很多列排序.例如,string []有5个元素(5列),List有10个元素(10行).例如,我想开始按第1列排序,然后按第3列排序,然后按第4列排序.

如何用C#以最简单的方式完成?

我想过这样的算法:

  1. 删除与我不想用于排序的列对应的值
  2. 查找剩下的每个列,可以用来存储其值的最长字符串
  3. 将每一行更改为字符串,其中每个单元格占用的字符数与给定列的值的最大字符数一样多
  4. 为每个字符串值分配int和index
  5. 对这些字符串值排序
  6. 借助已排序的索引对实际数据进行排序

但我认为这个算法非常糟糕.如果可能的话,你能否建议我使用C#和.NET已有的功能?

c# arrays sorting list

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

如何用bash中的引号包装输出行?

基本上我想要在这个问题中执行逆操作.

我正在运行搜索,查找具有Windows行结尾(\r\n)的文件,因为我想删除它们.

$ grep -URl ^M .
Run Code Online (Sandbox Code Playgroud)

一些返回的文件名称中包含空格:

./file name 1.txt
./file name 2.txt
Run Code Online (Sandbox Code Playgroud)

为了将其传递给另一个工具xargs,我需要引用这些行.我怎样才能转换为此输出:

"./file name 1.txt"
"./file name 2.txt"
Run Code Online (Sandbox Code Playgroud)

bash command-line

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

QuickFIX/J的数据库表

QuickFIX/J包含用于创建四个数据库表的SQL脚本:

  • sessions
  • messages
  • messages_log
  • event_log

我找不到任何描述每个表的目的的文档.

它们是什么,它们何时被写入,它们中的任何一个都无限增长等等......

quickfix quickfixj

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

C++警告,用于检测参考字段自身的初始化

我有一个错误的复制构造函数导致的错误,它从自身初始化它的字段:

Foo(const Foo& rhs)
  : bar(bar)      // error
{}
Run Code Online (Sandbox Code Playgroud)

显然这应该是:

Foo(const Foo& rhs)
  : bar(rhs.bar)
{}
Run Code Online (Sandbox Code Playgroud)

是否有可以检测到这种情况的编译器诊断?这段代码有可能有意义吗?

-Winit-self 似乎没有抓住这一点.

编辑

感谢永远的代码示例是显示警告由GCC 4.9.2提供的,我挖得更深一些,以确定为什么我没有看到一个.

事实证明,它取决于被复制字段的类型.

class A
{
public:
   A(const A&) : a(a), b(b), c(c) {}
private:
   int a;
   int* b;
   int& c;
};
Run Code Online (Sandbox Code Playgroud)

此代码仅提供有关a(按值复制)和b(通过指针)的警告,但提供c(通过引用).

现在已知这一点,是否仍然有理由期待GCC将自我引用的初始化视为一个问题?

Clang确实将所有这三个标识为警告,提供b:

在此处使用时,引用'b'尚未绑定到某个值

编辑我在GCC的bug跟踪器中打开了一个问题:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64667

c++ gcc compiler-warnings c++11

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

流到 UTF8 字符串,不带字节 []

我有一个流,其下N个字节是 UTF8 编码的字符串。我想以最少的开销创建该字符串。

这有效:

var bytes = new byte[n];
stream.Read(bytes, 0, n); // my actual code checks return value
var str = Encoding.UTF8.GetString(bytes);
Run Code Online (Sandbox Code Playgroud)

在我的基准测试中,我看到花费了大量时间以byte[]临时形式收集垃圾。如果我可以摆脱这些,我可以有效地将我的堆分配减半。

UTF8Encoding类没有与流工作方法。

如果有帮助,我可以使用不安全的代码。我不能重用一个byte[]缓冲区,如果没有ThreadLocal<byte[]>它似乎引入了比它减轻的更多的开销。我确实需要支持 UTF8(ASCII 不会削减它)。

这里有我缺少的 API 或技术吗?

.net c# performance stream character-encoding

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

使用反射发射时,“ ILGenerator中的标签内容不正确”

一些使用反射发射的C#代码会产生以下错误消息:

ILGenerator中的标签内容不正确

是什么原因造成的?

.net c#

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