标签: struct

如何将字符串转换为IP地址,反之亦然

如何转换字符串ipAddress(struct in_addr),反之亦然?以及如何打开unsigned long ipAddress?谢谢

c++ string struct ip-address in-addr

70
推荐指数
3
解决办法
18万
查看次数

正确初始化C++结构的方法

我们的代码涉及一个POD(Plain Old Datastructure)结构(它是一个基本的c ++结构,其中包含其他结构和POD变量,需要在开始时进行初始化.)

根据我所读到的,似乎:

myStruct = (MyStruct*)calloc(1, sizeof(MyStruct));
Run Code Online (Sandbox Code Playgroud)

应该将所有值初始化为零,如下所示:

myStruct = new MyStruct();
Run Code Online (Sandbox Code Playgroud)

但是,当以第二种方式初始化结构时,Valgrind后来抱怨"当使用这些变量时,条件跳转或移动取决于未初始化的值".我的理解是否存在缺陷,或者Valgrind是否会误报?

c++ struct valgrind initialization calloc

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

C - struct里面的函数

我试图在结构内创建一个函数,到目前为止我有这个代码:

typedef struct client_t client_t, *pno;
struct client_t
{
        pid_t pid;
        char password[TAM_MAX]; // -> 50 chars
        pno next;

        pno AddClient() 

        {
            /* code */
        }

};

int main()
{

    client_t client;

    //code ..

    client.AddClient();

}
Run Code Online (Sandbox Code Playgroud)

错误:client.h:24:2:错误:在'{'标记之前预期':',',',';','}'或' attribute '.

这是正确的方法吗?

c struct function

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

为什么具有可空值的结构的HashSets非常慢?

我研究了性能下降并将其跟踪以减缓HashSets的速度.
我有可用值作为主键的结构.例如:

public struct NullableLongWrapper
{
    private readonly long? _value;

    public NullableLongWrapper(long? value)
    {
        _value = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

我注意到创建一个HashSet<NullableLongWrapper>异常缓慢.

以下是使用BenchmarkDotNet的示例:( Install-Package BenchmarkDotNet)

using System.Collections.Generic;
using System.Linq;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Running;

public class Program
{
    static void Main()
    {
        BenchmarkRunner.Run<HashSets>();
    }
}

public class Config : ManualConfig
{
    public Config()
    {
        Add(Job.Dry.WithWarmupCount(1).WithLaunchCount(3).WithTargetCount(20));
    }
}

public struct NullableLongWrapper
{
    private readonly long? _value;

    public NullableLongWrapper(long? value)
    {
        _value = value;
    }

    public …
Run Code Online (Sandbox Code Playgroud)

.net c# performance struct

69
推荐指数
2
解决办法
2792
查看次数

Swift常量:Struct或Enum

我不确定哪两个更好地定义常量.结构或枚举.每次使用它时都会复制一个结构?当我想到一个带有static let常量的结构时,在我看来,它一直都会被复制是没有意义的.但如果它不会被复制,那么我采取什么并不重要?

结构或枚举的选择有什么优势?

Francisco说使用Struct的.

Ray Wunderlich说使用Enum的.但我缺乏理由.

enums struct constants swift

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

何时在Ruby中使用Struct而不是Hash?

我没有太多的编程经验.但是,对我而言,Struct似乎与Hash有些相似.

  • Struct能做什么?
  • 结构可以做什么,哈希不能做什么?

在谷歌搜索之后,结构的概念在C中很重要,但我对C不太了解.

ruby hash struct

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

结构初始化向量

我想知道如何使用该push_back方法向我的结构向量添加值

struct subject
{
  string name;
  int marks;
  int credits;
};


vector<subject> sub;
Run Code Online (Sandbox Code Playgroud)

那么现在我该如何添加元素呢?

我有函数初始化字符串名称(主题名称)

void setName(string s1, string s2, ...... string s6)
{
   // how can i set name too sub[0].name= "english", sub[1].name = "math" etc

  sub[0].name = s1 // gives segmentation fault; so how do I use push_back method?

  sub.name.push_back(s1);
  sub.name.push_back(s2);
  sub.name.push_back(s3);
  sub.name.push_back(s4);

  sub.name.push_back(s6);

}
Run Code Online (Sandbox Code Playgroud)

函数调用

setName("english", "math", "physics" ... "economics");
Run Code Online (Sandbox Code Playgroud)

c++ struct vector push-back

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

C中struct成员的默认值

是否可以为某些结构成员设置默认值?我尝试了以下但是,它会导致语法错误:

typedef struct
{
  int flag = 3;
} MyStruct;
Run Code Online (Sandbox Code Playgroud)

错误:

$ gcc -o testIt test.c 
test.c:7: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token
test.c: In function ‘main’:
test.c:17: error: ‘struct <anonymous>’ has no member named ‘flag’
Run Code Online (Sandbox Code Playgroud)

c struct

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

易失性结构语义

将结构类型变量的实例声明为volatile是否足够(如果其字段是以可重入代码访问的),还是必须将结构的特定字段声明为volatile?

换句话说,两者之间的语义差异(如果有的话)是什么:

typdef struct {
  uint8_t bar;
} foo_t;

volatile foo_t foo_inst;
Run Code Online (Sandbox Code Playgroud)

typedef struct{
  volatile uint8_t bar;
} foo_t;

foo_t foo_inst;
Run Code Online (Sandbox Code Playgroud)

我认识到将指针类型的变量声明为volatile(例如,volatile uint8_t*foo)只是告诉编译器foo指向的地址可能会改变,而不会声明foo指向的值.我不清楚类比是否适用于结构类型的变量.

c struct volatile

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

自动属性和结构不混合?

在回答这篇文章的同时踢了一些小结构,我意外地遇到了以下情况:

使用int字段的以下结构是完全合法的:

struct MyStruct
{ 
    public MyStruct ( int size ) 
    { 
        this.Size = size; // <-- Legal assignment.
    } 

    public int Size; 
}
Run Code Online (Sandbox Code Playgroud)

但是,使用自动属性的以下结构无法编译:

struct MyStruct
{ 
    public MyStruct ( int size ) 
    { 
        this.Size = size; // <-- Compile-Time Error!
    } 

    public int Size{get; set;}
}
Run Code Online (Sandbox Code Playgroud)

返回的错误是"在将所有字段分配给"之前,不能使用'this'对象.我知道这是结构的标准过程:任何属性的支持字段必须直接从结构的构造函数中指定(而不是通过属性的set访问器).

解决方案是使用显式支持字段:

struct MyStruct
{ 
    public MyStruct(int size)
    {
        _size = size;
    }

    private int _size;

    public int Size
    {
        get { return _size; }
        set { _size = value; …
Run Code Online (Sandbox Code Playgroud)

c# struct automatic-properties c#-3.0

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