标签: dynamic

如何创建动态大小的结构数组?

我知道如何创建一个结构数组但具有预定义的大小.但是有没有办法创建一个动态的结构数组,以便数组可以变得更大?

例如:

    typedef struct
    {
        char *str;
    } words;

    main()
    {
        words x[100]; // I do not want to use this, I want to dynamic increase the size of the array as data comes in.
    }
Run Code Online (Sandbox Code Playgroud)

这可能吗?


我研究了这个: words* array = (words*)malloc(sizeof(words) * 100);

我想摆脱100并存储数据.因此,如果76个数据字段进来,我想存储76而不是100.我假设我不知道有多少数据会来进入我的计划.在我上面定义的结构中,我可以创建第一个"索引":

    words* array = (words*)malloc(sizeof(words));
Run Code Online (Sandbox Code Playgroud)

但是我想在之后动态地向数组中添加元素.我希望我能够清楚地描述问题区域.主要挑战是动态添加第二个字段,至少这是目前的挑战.


然而,我取得了一些进展:

    typedef struct {
        char *str;
    } words;

    // Allocate first string.
    words x = (words) malloc(sizeof(words));
    x[0].str = "john";

    // Allocate second string.
    x=(words*) realloc(x, sizeof(words));
    x[1].FirstName = "bob"; …
Run Code Online (Sandbox Code Playgroud)

c memory-management dynamic

51
推荐指数
3
解决办法
16万
查看次数

使用JavaScript/jQuery动态修改CSS类属性值

我遇到了一个独特的情况,到目前为止我无法找到解决方案:动态地为CSS样式赋值.我知道如何使用jQuery为元素分配宽度,高度等,但我想要做的是实际更改样式表中定义的值,以便可以将动态创建的值分配给多个元素.

我正在构建的是一个占据整个视口的图像幻灯片,重新计算图像的大小,高度和左侧属性,以便图像始终居中,有利于宽度超过高度,除非视口高于它宽(调整大小不会重新加载页面,只需触发一个函数来调整图像大小).

我已经成功地让它在一个图像上工作,现在我正在尝试确定将这些属性值分配给幻灯片中所有图像的最佳方法,而不必为每个图像单独指定这三个项目.

我的问题:

可以动态修改类中属性的值吗?我确定答案就在那里,我可能只是在我的搜索中没有使用正确的术语.希望我能很好地描述这个问题.TIA.

javascript css jquery properties dynamic

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

C#4.0中的dynamic关键字有问题吗?

C#4.0动态使用有一些奇怪的行为:

using System;

class Program {
  public void Baz() { Console.WriteLine("Baz1"); }
  static void CallBaz(dynamic x) { x.Baz(); }

  static void Main(string[] args) {
    dynamic a = new Program();
    dynamic b = new { Baz = new Action(() => Console.WriteLine("Baz2")) };

    CallBaz(a); // ok
    CallBaz(b); // ok
    CallBaz(a); // Unhandled Exception:
    // Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:
    // The name 'Baz' is bound to a method and cannot be used like a property
  }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Visual Studio 2010 Release Candidate.

这是一个错误吗?如果是真的,它会在Release中修复吗?

c# caching dynamic

50
推荐指数
3
解决办法
1698
查看次数

为什么Clojure会动态输入?

我非常喜欢的一件事是阅读不同的编程语言.目前我正在学习Scala,但这并不意味着我对Groovy,Clojure,Python和其他许多人都不感兴趣.所有这些语言都具有独特的外观和一些特征.在clojure的情况下,我不理解这些设计决策之一.据我所知,Clojure非常强调其功能范式,并且几乎迫使你尽可能地使用不可变的"变量".因此,如果您的一半值是不可变的,为什么语言会动态输入?clojure网站说:

首先,Clojure是动态的.这意味着Clojure程序不仅仅是您编译和运行的东西,而是您可以与之交互的东西.

那听起来很奇怪.如果程序已编译,则无法再更改它.当然你可以与它"互动",这就是用户所使用的UI,但网站当然并不意味着整洁的"动态"GUI.

Clojure如何从动态类型中受益

我的意思是Clojure的特殊情况,而不是动态类型的一般优点.

动态类型系统如何帮助改进函数式编程

再一次,我知道没有溢出"int a;"的乐趣.整个源代码,但类型推断可以缓解很多痛苦.因此,我想知道动态类型如何支持函数式语言的概念.

paradigms functional-programming language-design clojure dynamic

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

Angular.js中的动态类

我想动态地将css类添加到<li>我循环的元素中.循环是这样的:

<li ng-repeat="todo in todos" ng-class="{{todo.priority}}">
  <a href="#/todos/{{todo.id}}">{{todo.title}}</a>
  <p>{{todo.description}}</p>
</li>
Run Code Online (Sandbox Code Playgroud)

在我的todo模型中,我有属性优先级,可以是"紧急","不那么重要"或"正常",我只想为每个元素分配类.

我知道我可以用类似的布尔值来做这个ng-class="{'urgent': todo.urgent}" 但是我的变量不是布尔值,而是有三个值.我该怎么做?另请注意,我不想使用,ng-style="..."因为我的课程会改变几个视觉事物.

class dynamic angularjs

50
推荐指数
3
解决办法
8万
查看次数

避免Pylint警告E1101:'具有动态属性的类的实例...没有..成员'

想象一个使用动态向对象添加属性的函数setattr.这样做的原因是我想将一些外部结构(例如给定的参数树)映射到对象:

my_object = SomeClass()
apply_structure(my_object, some_descriptor)
my_object.device1.enabled = True
Run Code Online (Sandbox Code Playgroud)

从技术上讲这是有效的,但当然Pylint正确地抱怨'device1'不是其成员SomeClass.

我可以禁用警告,但这样会很糟糕(因为我仍然希望在因错误拼写等原因而不存在该属性的情况下获得警告).

是否有一种通用且合法(Pylint-proof)的方式来动态地将成员添加到不会导致警告的对象?

或者:我可以只为一个对象而不是行/块/文件禁用Pylint 吗?

说明:

您可能想知道为什么我计划在以后以硬编码方式访问这些属性时动态地为对象配备成员属性.

原因是:我有一个动态的程序部分(装饰发生的地方)和一个专门用于特定场景的静态部分.所以我可以为这个场景创建一个静态类,但在很多情况下这样做太过分了.

以下专用代码可能允许访问可能连接到某个总线的设备的某些参数:

class MyDeviceHandler:
   on_get_some_subtree_element(self):
      return _some_internal_value
   on_set_some_subtree_element(self, value):
      _some_internal_value = value

dev = MyDeviceHandler()

decorate_object_with_device_structure(dev, 'some/attached/device')

dev.some.subtree.element = 5       <--- will call the set-callback
x = dev.some.subtree.element       <--- will call the get-callback
Run Code Online (Sandbox Code Playgroud)

所以后面的结构'some/attached/device'可能是任意的,非常复杂,我不想在类结构中重现它.

摆脱此警告的一种方法是创建/访问dict基于树的方法:

dev['some']['subtree']['element'] = 5
Run Code Online (Sandbox Code Playgroud)

但是这写起来比较难写,而且阅读起来也不好 - 我只会这样做才能让Pylint安静下来.

python dynamic pylint

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

在WPF中动态加载图像

我对WPF有一个奇怪的问题,我在运行时从磁盘加载图像并将它们添加到StackView容器中.但是,图像未显示.经过一些调试我找到了诀窍,但它确实没有任何意义.我制作了一个小型演示应用程序来识别问题:

创建一个新的WPF项目,并粘贴代码如下:

XAML:

<Window x:Class="wpfBug.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300" Loaded="Window_Loaded">
    <StackPanel Name="sp">
    </StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)

xaml.cs,粘贴在默认值下面:

namespace wpfBug
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Image i = new Image();
            BitmapImage src = new BitmapImage();
            src.BeginInit();
            src.UriSource = new Uri("picture.jpg", UriKind.Relative);
            src.EndInit();
            i.Source = src;
            i.Stretch = Stretch.Uniform;
            //int q = src.PixelHeight;        // Image loads here
            sp.Children.Add(i);
        } …
Run Code Online (Sandbox Code Playgroud)

wpf image loading dynamic

49
推荐指数
3
解决办法
14万
查看次数

从PHP中使用动态类名获取静态属性

我有这个:

  • 一个字符串变量,它包含类名($classname)
  • 一个字符串变量with保存属性名称($propertyname)

我想从该类中获取该属性,问题是,属性是静态的,我不知道该怎么做.

如果属性不是静态的,那将是:

$classname->$propertyname;
Run Code Online (Sandbox Code Playgroud)

如果属性是一个方法,我可以使用call_user_function

call_user_func(array($classname, $propertyname));
Run Code Online (Sandbox Code Playgroud)

但就我而言,我只是输了.但我希望这是可能的.有了PHP拥有的数千个函数,他最好还有一些东西.也许我错过了什么?

谢谢!

编辑:

  • 对于那些有eval()解决方案的人:谢谢,但这是不可能的
  • 对于那些使用get _class _vars()解决方案的人:谢谢,但似乎它返回"给定类的默认属性"(php.net),是的,我希望这个值可以变化(即使它确实帮助了我在某些情况下)

php oop static properties dynamic

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

C#4表达式树中的"动态"

我正在试图弄清楚如何将所有部分组合在一起,并希望从一个简单的案例开始的具体源代码示例.

考虑以下C#代码:

Func<int, int, int> f = (x, y) => x + y;
Run Code Online (Sandbox Code Playgroud)

我可以使用表达式树在运行时生成等效函数,如下所示:

var x = Expression.Parameter(typeof(int), "x");
var y = Expression.Parameter(typeof(int), "y");
Func<int, int, int> f =
    Expression.Lambda<Func<int, int, int>>(
        Expression.Add(x, y),
        new[] { x, y }
    ).Compile();
Run Code Online (Sandbox Code Playgroud)

现在给出以下lambda:

Func<dynamic, dynamic, dynamic> f = (x, y) => x + y;
Run Code Online (Sandbox Code Playgroud)

如何使用表达式树(并且,大概Expression.Dynamic)生成等效的?

c# dynamic expression-trees c#-4.0

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

在Xcode 7中找到了一个意外的Mach-O头代码:0x72613c21

我有一个使用ObjC动态框架的Swift项目,框架必须与我的项目链接并嵌入到我的项目中.项目在设备中运行正常,当提交到App Store时,验证期间发生错误: Found an unexpected Mach-O header code: 0x72613c21

以下是验证日志:

2015-10-12 02:32:33 +0000 [MT] Beginning distribution assistant for archive: MusicFans, task: Validate
2015-10-12 02:32:33 +0000 [MT] Automatically selecting the only availaable distribution method <IDEDistributionMethodiOSAppStoreValidation: 0x7f851c1d96c0>
2015-10-12 02:32:34 +0000 [MT] [OPTIONAL] Didn't find archived user entitlements for <DVTFilePath:0x7f851b42db10:'/Users/panzhansheng/Library/Developer/Xcode/Archives/2015-10-11/MusicFans 11-10-15 ??8.29.xcarchive/Products/Applications/MusicFans.app/Frameworks/libswiftDispatch.dylib'>: Error Domain=NSCocoaErrorDomain Code=4 "Item at "/Users/panzhansheng/Library/Developer/Xcode/Archives/2015-10-11/MusicFans 11-10-15 ??8.29.xcarchive/Products/Applications/MusicFans.app/Frameworks/libswiftDispatch.dylib" did not contain a "archived-expanded-entitlements.xcent" resource." UserInfo={NSLocalizedDescription=Item at "/Users/panzhansheng/Library/Developer/Xcode/Archives/2015-10-11/MusicFans 11-10-15 ??8.29.xcarchive/Products/Applications/MusicFans.app/Frameworks/libswiftDispatch.dylib" did not contain a "archived-expanded-entitlements.xcent" resource.}
2015-10-12 02:32:34 +0000 [MT] [OPTIONAL] Didn't …
Run Code Online (Sandbox Code Playgroud)

validation frameworks store dynamic

49
推荐指数
13
解决办法
3万
查看次数